| Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
Seems like this was an oversee in regards to 1fd979f50a9f4c21fa8cafba7268d959e3076924
It changed GLShader::ProgramCode to a std::vector, so sizeof is wrong.
|
|
|
|
* Implement POPC
* implement invert
|
|
gl_shader_decompiler: Improve IPA for Pass mode with Position attribute.
|
|
|
|
|
|
gpu: Make memory_manager private
|
|
gl_rasterizer: Remove unused variables
|
|
Given std::vector is a type with a non-trivial destructor, this
variable cannot be optimized away by the compiler, even if unused.
Because of that, something that was intended to be fairly lightweight,
was actually allocating 32KB and deallocating it at the end of the
function.
|
|
Makes the class interface consistent and provides accessors for
obtaining a reference to the memory manager instance.
Given we also return references, this makes our more flimsy uses of
const apparent, given const doesn't propagate through pointers in the
way one would typically expect. This makes our mutable state more
apparent in some places.
|
|
|
|
|
|
|
|
|
|
shader_bytecode: fix SEL_IMM bitstring
|
|
debug_utils: Minor individual interface changes
|
|
maxwell3d: Move FinishedPrimitiveBatch event after AcceleratedDrawBatch()
|
|
gl_rasterizer: Correct assertion condition in SyncLogicOpState()
|
|
Quite a bit of these aren't necessary directly within the debug_utils
header and can be removed or included where actually necessary.
|
|
Avoids implicit conversions.
|
|
Ensures that all class members are initialized.
|
|
The start and finish events should likely not be right after one another
like this, otherwise the batch will appear to complete immediately
|
|
|
|
Previously the assert would always be hit, since it was the equivalent
of: array == nullptr, which is never true.
|
|
|
|
gl_rasterizer_cache: Several improvements
|
|
|
|
later use.
|
|
|
|
|
|
- Used by Splatoon 2.
|
|
|
|
|
|
|
|
gl_shader_gen: Use a std::vector to represent program code instead of std::array
|
|
gl_shader_decompiler: Implement LOP3
|
|
Prevents implicit conversions.
|
|
While convenient as a std::array, it's also quite a large set of data as
well (32KB). It being an array also means data cannot be std::moved. Any
situation where the code is being set or relocated means that a full
copy of that 32KB data must be done.
If we use a std::vector we do need to allocate on the heap, however, it
does allow us to std::move the data we have within the std::vector into
another std::vector instance, eliminating the need to always copy the
program data (as std::move in this case would just transfer the pointers
and bare necessities over to the new vector instance).
|
|
|
|
|