| Age | Commit message (Collapse) | Author |
|
|
|
Initial support for non-2D textures
|
|
This hopefully helps our cache not to redundant upload the vertex buffer.
# Conflicts:
# src/video_core/renderer_opengl/gl_rasterizer.cpp
|
|
* video_core: Arithmetic overflow fix for gl_rasterizer
- Fixed warnings, which were indicating incorrect behavior from integral
promotion rules and types larger than those in which arithmetic is
typically performed.
- Added const for variables where possible and meaningful.
* Changed the casts from C to C++ style
Changed the C-style casts to C++ casts as proposed.
Took also care about signed / unsigned behaviour.
|
|
|
|
|
|
|
|
|
|
|
|
- Will not work for non-2d textures, and was not used anyways.
|
|
|
|
|
|
|
|
video_core/gl_buffer_cache: Minor tidying changes
|
|
gl_rasterizer: Call state.Apply only once on SetupShaders.
|
|
|
|
|
|
Ensures that the cache always has a deterministic initial state.
|
|
GetHandle() internally calls GetHandle() on the stream_buffer instance,
which is a const member function, so this can be made const as well.
|
|
|
|
Implicit conversions during construction isn't desirable here.
|
|
IMO the old code is fine, but nvidia raises shader compiler warnings.
Trivial fix through...
|
|
gl_rasterizer: Implement a VAO cache.
|
|
shader_decompiler: Implemented IPA Properly (Stage 1)
|
|
|
|
This is called ~3k times per frame in SMO ingame.
My laptop spends ~3ms per frame on allocating and freeing this string.
Let's just stop printing this kind of redundant information.
|
|
This patch caches VAO objects instead of re-emiting all pointers per draw call.
Configuring this pointers is known as a fast task, but it yields too many GL
calls. So for better performance, just bind the VAO instead of 16 pointers.
|
|
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.
|
|
The std::string generation with its malloc and free requirement
was a noticeable overhead. Also switch to an ordered_map to
avoid the std::hash call. As those maps usually have a size of
two elements, the lookup time shall not matter.
|
|
gl_shader_decompiler: Use used_shaders member variable directly within GenerateDeclarations()
|
|
Blame the subsystems which deserve the blame :)
The updated list is not complete, just the ones I've spotted on random sampling the stack trace.
|
|
GenerateDeclarations()
Using the getter function intended for external code here makes an
unnecessary copy of the already-accessible used_shaders vector.
|
|
Added assert for TEXS nodep
|
|
Added better asserts to IPA, Renamed IPA modes to match mesa
|
|
Added FFMA asserts and missing fields
|
|
Unneeded as we already implement it
|
|
Saturate already implemented
|
|
|
|
|
|
|
|
|
|
IpaMode is changed to IpaInterpMode
IpaMode is suppose to be 2 bits not 3
Added IpaSampleMode
Added Saturate
Renamed modes based on
https://github.com/mesa3d/mesa/blob/d27c7918916cdc8092959124955f887592e37d72/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp#L2530
|
|
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which
replaces most of the includes in the core header with forward declarations.
This makes it so that if any of the headers the core header was
previously including change, then no one will need to rebuild the bulk
of the core, due to core.h being quite a prevalent inclusion.
This should make turnaround for changes much faster for developers.
|
|
|
|
|
|
|
|
- Use a single cached page map.
- Fix calculation of ending page.
|
|
* Implement BC6H_UF16 & BC6H_SF16
Require by ARMS
* correct coding style
* correct coding style part 2
|
|
core: Make the main System class use the PImpl idiom
|
|
Report correct shader size.
|