Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gl_rasterizer: Upload constant buffers with glNamedBufferSubData | ReinUsesLisp | 2019-11-02 | 1 | -2/+18 |
| | | | | | | | | | | | | | | | | Nvidia's OpenGL driver maps gl(Named)BufferSubData with some requirements to a fast. This path has an extra memcpy but updates the buffer without orphaning or waiting for previous calls. It can be seen as a better model for "push constants" that can upload a whole UBO instead of 256 bytes. This path has some requirements established here: http://on-demand.gputechconf.com/gtc/2014/presentations/S4379-opengl-44-scene-rendering-techniques.pdf#page=24 Instead of using the stream buffer, this commits moves constant buffers uploads to calls of glNamedBufferSubData and from my testing it brings a performance improvement. This is disabled when the vendor is not Nvidia since it brings performance regressions. | ||||
* | Buffer Cache: Adress Feedback. | Fernando Sahmkow | 2019-08-21 | 1 | -3/+3 |
| | |||||
* | Video_Core: Implement a new Buffer Cache | Fernando Sahmkow | 2019-08-21 | 1 | -7/+26 |
| | |||||
* | gl_rasterizer: Fix nullptr dereference on disabled buffers | ReinUsesLisp | 2019-07-06 | 1 | -2/+2 |
| | |||||
* | gl_buffer_cache: Implement with generic buffer cache | ReinUsesLisp | 2019-07-06 | 1 | -101/+14 |
| | |||||
* | gl_buffer_cache: Remove global system getters | ReinUsesLisp | 2019-07-06 | 1 | -1/+7 |
| | |||||
* | gl_buffer_cache: Implement flushing | ReinUsesLisp | 2019-07-06 | 1 | -1/+6 |
| | |||||
* | gl_rasterizer: Drop gl_global_cache in favor of gl_buffer_cache | ReinUsesLisp | 2019-07-06 | 1 | -2/+2 |
| | |||||
* | gl_buffer_cache: Rework to support internalized buffers | ReinUsesLisp | 2019-07-06 | 1 | -18/+52 |
| | |||||
* | gl_buffer_cache: Store in CachedBufferEntry the used buffer handle | ReinUsesLisp | 2019-07-06 | 1 | -7/+13 |
| | |||||
* | gl_buffer_cache: Return used buffer from Upload function | ReinUsesLisp | 2019-07-06 | 1 | -8/+8 |
| | |||||
* | gl_buffer_cache: Remove unused ReserveMemory method | ReinUsesLisp | 2019-05-30 | 1 | -3/+0 |
| | |||||
* | RasterizerCache Redesign: Flush | Fernando Sahmkow | 2019-04-20 | 1 | -3/+3 |
| | | | | | | flushing is now responsability of children caches instead of the cache object. This change will allow the specific cache to pass extra parameters on flushing and will allow more flexibility. | ||||
* | gpu: Move GPUVAddr definition to common_types. | bunnei | 2019-03-21 | 1 | -1/+1 |
| | |||||
* | gpu: Use host address for caching instead of guest address. | bunnei | 2019-03-15 | 1 | -7/+24 |
| | |||||
* | gl_rasterizer: Skip VB upload if the state is clean. | Markus Wick | 2018-11-17 | 1 | -1/+1 |
| | |||||
* | rasterizer_cache: Remove reliance on the System singleton | Lioncash | 2018-11-08 | 1 | -1/+3 |
| | | | | | | Rather than have a transparent dependency, we can make it explicit in the interface. This also gets rid of the need to put the core include in a header. | ||||
* | rasterizer_cache: Refactor to support in-order flushing. | bunnei | 2018-10-16 | 1 | -4/+4 |
| | |||||
* | rasterizer_cache: Reintroduce method for flushing. | bunnei | 2018-10-16 | 1 | -0/+3 |
| | |||||
* | gl_rasterizer: Implement quads topology | ReinUsesLisp | 2018-10-04 | 1 | -0/+7 |
| | |||||
* | Port #4182 from Citra: "Prefix all size_t with std::" | fearlessTobi | 2018-09-15 | 1 | -8/+8 |
| | |||||
* | gl_buffer_cache: Default initialize member variables | Lioncash | 2018-09-06 | 1 | -3/+3 |
| | | | | Ensures that the cache always has a deterministic initial state. | ||||
* | gl_buffer_cache: Make GetHandle() a const member function | Lioncash | 2018-09-06 | 1 | -1/+1 |
| | | | | | GetHandle() internally calls GetHandle() on the stream_buffer instance, which is a const member function, so this can be made const as well. | ||||
* | gl_buffer_cache: Remove unnecessary includes | Lioncash | 2018-09-06 | 1 | -1/+1 |
| | |||||
* | gl_buffer_cache: Make constructor explicit | Lioncash | 2018-09-06 | 1 | -1/+1 |
| | | | | Implicit conversions during construction isn't desirable here. | ||||
* | renderer_opengl: Implement a buffer cache. | Markus Wick | 2018-09-05 | 1 | -0/+57 |
The idea of this cache is to avoid redundant uploads. So we are going to cache the uploaded buffers within the stream_buffer and just reuse the old pointers. The next step is to implement a VBO cache on GPU memory, but for now, I want to check the overhead of the cache management. Fetching the buffer over PCI-E should be quite fast. |