bunnei
88ffa422d4
gl_rasterizer: Implement render target format RG8_SNORM.
- Used by Super Mario Odyssey.
8 years ago
bunnei
0471976b48
gl_rasterizer: Implement render target format RGBA8_SNORM.
- Used by Super Mario Odyssey.
8 years ago
Subv
c1ad973881
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
8 years ago
Subv
305a05f820
GPU/Shaders: Implemented SSY and SYNC as a way to modify control flow during shader execution.
SSY sets the target label to jump to when the SYNC instruction is executed.
8 years ago
greggameplayer
dfcde52f39
Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats and more (R16_UNORM needed by Fate Extella) ( #848 )
* Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats
Do a separate function in order to get Bytes Per Pixel of DepthFormat
Apply the new function in gpu.h
delete unneeded white space
* correct merging error
8 years ago
Lioncash
20c2928c2b
video_core; Get rid of global g_toggle_framelimit_enabled variable
Instead, we make a struct for renderer settings and allow the renderer
to update all of these settings, getting rid of the need for
global-scoped variables.
This also uncovered a few indirect inclusions for certain headers, which
this commit also fixes.
8 years ago
Lioncash
f380496728
renderer_base: Remove unused kFramebuffer enumeration
This is entirely unused and can be removed.
8 years ago
Lioncash
2e80e7480d
video_core: Remove unused Renderer enumeration
Currently we only have an OpenGL renderer, so this is unused in code
(and occupies the Renderer identifier in the VideoCore namespace).
8 years ago
bunnei
6b0bc48a42
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
- Used by Super Mario Odyssey.
8 years ago
bunnei
a5b65df9cf
maxwell_to_gl: Implement VertexAttribute::Size::Size_32_32_32.
- Used by Super Mario Odyssey.
8 years ago
bunnei
2156cb3cbe
Revert "gl_state: Temporarily disable culling and depth test."
8 years ago
Lioncash
0e1510ac29
gl_rasterizer_cache: Remove unused viewport parameter of GetFramebufferSurfaces()
8 years ago
Lioncash
b8c43b6080
video_core: Use variable template variants of type_traits interfaces where applicable
8 years ago
bunnei
3a67876252
textures: Refactor out for Texture/Depth FormatFromPixelFormat.
8 years ago
bunnei
e8c52d4c89
gl_rasterizer_cache: Add bounds checking for gl_buffer copies.
8 years ago
Khangaroo
75e12a33ae
Implement SNORM for BC5/DXN2 ( #998 )
* Implement BC5/DXN2 (#996 )
- Used by Kirby Star Allies.
* Implement BC5/DXN2 SNORM
UNORM for Kirby Star Allies
SNORM for Super Mario Odyssey
8 years ago
Lioncash
6ef027b958
gl_shader_decompiler: Reserve element memory beforehand in BuildRegisterList()
Avoids potentially perfoming multiple reallocations when we know the
total amount of memory we need beforehand.
8 years ago
Lioncash
59ea37daa7
gl_rasterizer_cache: Avoid iterator invalidation issues within InvalidateRegion()
A range-based for loop can't be used when the container being iterated
is also being erased from.
8 years ago
Khangaroo
5cb6eceecf
Implement BC5/DXN2 ( #996 )
- Used by Kirby Star Allies.
8 years ago
Lioncash
e831b80d69
gl_rasterizer_cache: Invert conditional in LoadGLBuffer()
It's generally easier to follow code using conditionals that operate in
terms of the true case followed by the false case (no chance of
overlooking the exclamation mark).
8 years ago
Lioncash
434f352eb3
gl_rasterizer_cache: Use std::vector::assign in LoadGLBuffer() for the non-tiled case
resize() causes the vector to expand and zero out the added members to
the vector, however we can avoid this zeroing by using assign().
Given we have the pointer to the data we want to copy, we can calculate
the end pointer and directly copy the range of data without the
need to perform the resize() beforehand.
8 years ago
bunnei
dfc3eed0cb
maxwell_to_gl: Implement VertexAttribute::Size::Size_16_16_16_16.
- Used by Super Mario Odyssey (in game).
8 years ago
bunnei
06d0b96ca9
maxwell_to_gl: Implement PrimitiveTopology::Points.
- Used by Super Mario Odyssey (in game).
8 years ago
bunnei
4283019aa0
gl_shader_decompiler: Declare predicates on use.
- Used by Super Mario Odyssey (when going in game).
8 years ago
bunnei
efe6b473c5
maxwell_3d: Ignore macros that have not been uploaded yet.
- Used by Super Mario Odyssey (in game).
8 years ago
Lioncash
557c466994
gl_rasterizer_cache: Make pointer const in LoadGLBuffer()
This is only ever read from, so we can make the data it's pointing to
const.
8 years ago
bunnei
ddec200290
gl_rasterizer: Do not render when no render target is configured.
- Used by Super Mario Odyssey.
8 years ago
bunnei
7bf422d58c
gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel.
- Used by Super Mario Odyssey.
8 years ago
bunnei
7f0d0a93f7
gl_shader_decompiler: Stub input attribute Unknown_63.
8 years ago
bunnei
57982df105
maxwell_3d: Use correct const buffer size and check bounds.
- Fixes mem corruption with Super Mario Odyssey and Pokkén Tournament DX.
8 years ago
bunnei
8c6338b6f9
renderer_opengl: Use trace log in a few places.
8 years ago
bunnei
c120ed7d18
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
8 years ago
bunnei
aaf8d9ac2f
gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
- Used by Super Mario Odyssey.
8 years ago
bunnei
e542356d0c
gl_shader_decompiler: Let OpenGL interpret floats.
- Accuracy is lost in translation to string, e.g. with NaN.
- Needed for Super Mario Odyssey.
8 years ago
Hexagon12
7139f05fc5
Fixed the sRGB pixel format ( #963 )
* Changed the sRGB pixel format return
* Add a message about SRGBA -> RGBA conversion
8 years ago
Hexagon12
bc6d91a103
Lowered down the logging for methods
8 years ago
bunnei
904d7eaa94
maxwell_3d: Remove outdated assert.
8 years ago
bunnei
57eb936200
gl_rasterizer_cache: Avoid superfluous surface copies.
8 years ago
bunnei
fd715e54a1
gl_shader_decompiler: Fix TEXS mask and dest.
8 years ago
David Marcec
b96010bfa9
added braces for conditions
8 years ago
David Marcec
6d1e30e041
fix the attrib format for ints
8 years ago
Lioncash
3b678b9e8e
gl_shader_manager: Invert conditional in SetShaderUniformBlockBinding()
This lets us indent the majority of the code and places the error case
first.
8 years ago
Lioncash
dde5dce736
gl_shader_manager: Amend sign differences in an assertion comparison in SetShaderUniformBlockBinding()
Ensures both operands have the same sign in the comparison.
While we're at it, we can get rid of the redundant casting of ub_size to
an int. This type will always be trivial and alias a built-in type (not
doing so would break backwards compatibility at a standard level).
8 years ago
Lioncash
2665457f4a
renderer_base: Make Rasterizer() return the rasterizer by reference
All calling code assumes that the rasterizer will be in a valid state,
which is a totally fine assumption. The only way the rasterizer wouldn't
be is if initialization is done incorrectly or fails, which is checked
against in System::Init().
8 years ago
Lioncash
6030c5ce41
video_core: Eliminate the g_renderer global variable
We move the initialization of the renderer to the core class, while
keeping the creation of it and any other specifics in video_core. This
way we can ensure that the renderer is initialized and doesn't give
unfettered access to the renderer. This also makes dependencies on types
more explicit.
For example, the GPU class doesn't need to depend on the
existence of a renderer, it only needs to care about whether or not it
has a rasterizer, but since it was accessing the global variable, it was
also making the renderer a part of its dependency chain. By adjusting
the interface, we can get rid of this dependency.
8 years ago
Lioncash
b4e050e6c4
video_core: Remove unimplemented Start() function prototype
Given this has no definition, we can just remove it entirely.
8 years ago
Lioncash
b45e5c2399
gl_shader_decompiler: Remove unused variable in GenerateDeclarations()
This variable was being incremented, but we were never actually using
it.
8 years ago
Lioncash
555d76d065
gl_shader_manager: Make ProgramManager's GetCurrentProgramStage() a const member function
This function doesn't modify class state, so it can be made const.
8 years ago
greggameplayer
fe64e1d38e
Implement RGB32F PixelFormat ( #886 ) (used by Go Vacation)
8 years ago
Lioncash
6b32e24161
gl_state: Make texture_units a std::array
Gets rid of the use of a raw C array.
8 years ago