| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
- Will not work for non-2d textures, and was not used anyways.
|
| | |
|
| | |
|
| | |
|
| |\
| |
| | |
video_core/CMakeLists: Add missing gl_buffer_cache.h
|
| | |
| |
| |
| |
| | |
Without this, the header file won't show up by default within IDEs such
as Visual Studio.
|
| |\ \
| | |
| | | |
video_core/gl_buffer_cache: Minor tidying changes
|
| | | |
| | |
| | |
| | | |
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.
|
| |\ \
| | |
| | | |
gl_rasterizer: Call state.Apply only once on SetupShaders.
|
| | |/ |
|
| |/ |
|
| |
|
|
|
| |
IMO the old code is fine, but nvidia raises shader compiler warnings.
Trivial fix through...
|
| |\
| |
| | |
gl_rasterizer: Implement a VAO cache.
|
| | |
| |
| |
| |
| |
| | |
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.
|
| |\ \
| | |
| | | |
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.
|
| |/
|
|
|
|
|
|
|
| |
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.
|
| |\
| |
| | |
Optimizations
|
| | |
| |
| |
| |
| | |
subchannel is a 3 bit field. So there must not be more than 8 bound engines.
And using a hashmap for up to 8 values is a bit overpowered.
|
| |\ \
| | |
| | | |
gl_shader_decompiler: Use used_shaders member variable directly within GenerateDeclarations()
|
| | |/
| |
| |
| |
| |
| |
| | |
GenerateDeclarations()
Using the getter function intended for external code here makes an
unnecessary copy of the already-accessible used_shaders vector.
|
| |/
|
|
|
|
| |
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.
|
| |\
| |
| | |
filesystem/maxwell_3d: Various changes to boot Project Octopath Traveller
|
| | | |
|
| |\ \
| | |
| | | |
Added assert for TEXS nodep
|
| | |/ |
|
| |\ \
| | |
| | | |
Added better asserts to IPA, Renamed IPA modes to match mesa
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\ \
| | |
| | | |
Added FFMA asserts and missing fields
|
| | | |
| | |
| | |
| | | |
Saturate already implemented
|
| | | | |
|
| | |/ |
|
| | |
| |
| |
| | |
Unneeded as we already implement it
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
core.h is kind of a massive header in terms what it includes within
itself. It includes VFS utilities, kernel headers, file_sys header,
ARM-related headers, etc. This means that changing anything in the
headers included by core.h essentially requires you to rebuild almost
all of core.
Instead, we can modify the System class to use the PImpl idiom, which
allows us to move all of those headers to the cpp file and forward
declare the bulk of the types that would otherwise be included, reducing
compile times. This change specifically only performs the PImpl portion.
|
| |\ \
| | |
| | | |
Report correct shader size.
|