Subv
3c2b29e5c2
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
8 years ago
Subv
fbc480d611
GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits.
Also removed some dead code and added memory map consistency asserts.
8 years ago
Subv
fa6edc4412
GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format as the A2BGR10 texture format.
8 years ago
Subv
abd66a9a33
GPU: Implement the A2BGR10 texture format.
8 years ago
adityaruplaha
cd2aeb1046
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607 )
8 years ago
bunnei
ff1700e261
gl_shader_decompiler: Skip RRO instruction.
8 years ago
bunnei
54fbbc6f26
gl_shader_decompiler: Cleanup error logging.
8 years ago
bunnei
f66098bd37
shader_bytecode: Add several more instruction decodings.
8 years ago
bunnei
d2302ee79f
shader_bytecode: Decode instructions based on bit strings.
8 years ago
Subv
79e7bb8896
ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.
8 years ago
Subv
2fbb91a6b6
ShaderGen: Implemented predicated instruction execution.
Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
8 years ago
Subv
31de416fc0
ShaderGen: Implemented the fsetp instruction.
Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id.
These predicate variables are initialized to false on shader startup and are set via the fsetp instructions.
TODO:
* Not all the comparison types are implemented.
* Only the single-predicate version is implemented.
8 years ago
Lioncash
c3ade6d56d
opengl: Remove unnecessary header inclusions
8 years ago
Lioncash
3768508edf
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
Standard library containers may use std::move_if_noexcept to perform
move operations. If a move cannot be performed under these
circumstances, then a copy is attempted. Given we only intend for these
types to be move-only this can be somewhat problematic. By defining
these to be noexcept we prevent cases where copies may be attempted.
8 years ago
Lioncash
f7eb0e8f1b
gl_rasterizer_cache: Make MatchFlags an enum class
Prevents implicit conversions and scope pollution.
8 years ago
Lioncash
4bd499d440
core: Relocate g_service_manager to the System class
Converts the service manager from a global into an instance-based
variable.
8 years ago
Lioncash
5860b9f4ce
resource_limit: Make ResourceTypes an enum class
Prevents enum identifiers from leaking into the surrounding scope.
8 years ago
Subv
601c5d9d93
ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).
8 years ago
Subv
8b8f55d8be
ShaderGen: Ignore the 'sched' instruction when generating shaders.
The 'sched' instruction has a very convoluted encoding, but fortunately it seems to only appear on a fixed interval (once every 4 instructions).
8 years ago
Lioncash
043546e4db
math_util: Remove the Clamp() function
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
8 years ago
Lioncash
bd4e50afb9
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
These are all unused and the Write() ones should arguably not even be in the interface. There are better ways to provide this if we ever need it (like iterators).
8 years ago
Lioncash
4e99ac0553
common: Remove code_block.h
We use dynarmic, so this is unued. Anything else we need will likely use Xbyak, so
this header isn't necessary any more.
8 years ago
Lioncash
9d21769d88
common/thread: Remove unnecessary feature checking for thread_local
Every compiler we require already supports it.
8 years ago
Lioncash
c9f5ae4fcc
common_funcs: Remove ARRAY_SIZE macro
C++17 has non-member size() which we can just call where necessary.
8 years ago
Lioncash
4b0e4421f4
common_funcs: Remove check for VS versions that we don't even support
We don't support any VS versions that don't already have snprintf in the
standard library implementation.
8 years ago
Lioncash
0f07311af3
common_types: Convert typedefs to using aliases
May as well while we're making changes to this file.
8 years ago
Lioncash
ad470a1478
common_types: Remove unnecessary check for whether or not__func__ is defined
VS has supported this for quite a while.
8 years ago
Lioncash
6d94dd21a5
service: Use nested namespace specifiers where applicable
Tidies up namespace declarations
8 years ago
Lioncash
59a504d933
vi: Remove redundant initializers in the constructors
8 years ago
Lioncash
5b8891df28
disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory
8 years ago
Lioncash
eb2bb5500e
disk_filesystem: Remove redundant initializer in Disk_Directory's constructor
8 years ago
Lioncash
19fe9a92ec
disk_filesystem: Make constructors explicit where applicable
8 years ago
Lioncash
8594945844
renderer_opengl: Add missing header guards
8 years ago
Lioncash
2259f5d56b
glsl_shader_decompiler: Use std::string_view instead of std::string for AddLine()
This function doesn't need to take ownership of the string data being
given to it, considering all we do is append the characters to the
internal string instance.
Instead, use a string view to simply reference the string data without
any potential heap allocation.
Now anything that is a raw const char* won't need to be converted to a
std::string before appending.
8 years ago
Lioncash
55fef54f2e
glsl_shader_decompiler: Add AddNewLine() function to ShaderWriter
Avoids constructing a std::string just to append a newline character
8 years ago
Lioncash
5a3da4f1a1
glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()
Avoids constructing a std::string just to append a character.
8 years ago
Lioncash
21fa39b4f6
glsl_shader_decompiler: Append indentation without constructing a separate std::string
The interface of std::string already lets us append N copies of a
character to an existing string.
8 years ago
Subv
4ca65f10b1
ShaderGen: Implemented the fmul32i shader instruction.
8 years ago
Subv
887db586be
ShaderGen: Fixed a case where the TEXS instruction would use the same registers for the input and the output.
It will now save the coords before writing the outputs in a subscope.
8 years ago
N00byKing
f2001a33cc
Implement Pull #3528 from citra: use nvidia graphics automatically on laptops with optimus (with AMD support) ( #271 )
* Port 3528: use nvidia graphics automatically on laptops with optimus
* Force dedicated AMD Card for switchable Graphics
* Ran clang-format
8 years ago
Subv
37f782e1b7
GPU: Add support for the DXT23 and DXT45 compressed texture formats.
8 years ago
bunnei
b17664dfa9
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
8 years ago
Subv
e9f62cb1bb
GPU: Implemented the B5G6R5 format.
8 years ago
bunnei
e8cc5900a6
gl_shader_gen: Support vertical/horizontal viewport flipping. ( #347 )
* gl_shader_gen: Support vertical/horizontal viewport flipping.
* fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
8 years ago
Subv
d98275cde1
GLCache: Added boilerplate code to make supporting configurable texture component types.
For now only the UNORM type is supported.
8 years ago
Subv
e6991c57e5
GLCache: Unify texture and framebuffer formats when converting to OpenGL.
8 years ago
Subv
d088a95097
GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8.
8 years ago
Subv
19a0e7e141
GPU: Pitch textures are now supported, don't assert when encountering them.
8 years ago
Subv
fecaeb8ae6
GLCache: Take into account the texture's block height when caching and unswizzling.
8 years ago
Subv
19e0d8ca24
GLCache: Added a function to convert cached PixelFormats back to texture formats.
TODO: The way we handle cached formats must change, framebuffer and texture formats are too different to keep them in the same place.
8 years ago