Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | buffer_cache: Return handles instead of pointer to handles | ReinUsesLisp | 2020-04-16 | 1 | -6/+6 |
| | | | | | | | | | | | The original idea of returning pointers is that handles can be moved. The problem is that the implementation didn't take that in mind and made everything harder to work with. This commit drops pointer to handles and returns the handles themselves. While it is still true that handles can be invalidated, this way we get an old handle instead of a dangling pointer. This problem can be solved in the future with sparse buffers. | ||||
* | Buffer Cache: Use vAddr instead of physical memory. | Fernando Sahmkow | 2020-04-06 | 1 | -2/+2 |
| | |||||
* | 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. |