bunnei
7fe43996de
gl_shader_decompiler: Implement IPA instruction.
2018-04-17 16:36:39 -04:00
bunnei
05305422e1
gl_shader_decompiler: Add support for TEXS instruction.
2018-04-17 16:36:38 -04:00
bunnei
69f5eadc2b
gl_shader_decompiler: Use fragment output color for GPR 0-3.
2018-04-17 15:25:54 -04:00
bunnei
fdca99c4fb
gl_shader_decompiler: Partially implement MUFU.
2018-04-17 15:25:54 -04:00
bunnei
09122ee37d
Merge pull request #343 from Subv/tex_wrap_4
...
GPU: Implement some wrap modes
2018-04-17 12:25:24 -04:00
Subv
d388e8e8f9
MaxwellToGL: Implemented tex wrap mode 1 (Wrap, GL_REPEAT).
2018-04-17 10:17:18 -05:00
Subv
b5fdd197b2
MaxwellToGL: Added a TODO and partial implementation of maxwell wrap mode 4 (Clamp, GL_CLAMP).
...
This clamp mode was removed from OpenGL as of 3.1, we can emulate it by using GL_CLAMP_TO_BORDER to get the border color of the texture, and then manually sampling the edge to mix them in the fragment shader.
2018-04-17 10:16:50 -05:00
bunnei
ad8a27a7b3
gl_rendering: Use NGLOG* for changed code.
2018-04-16 21:23:28 -04:00
bunnei
65092bf8d8
gl_rasterizer: Implement indexed vertex mode.
2018-04-16 21:10:15 -04:00
Subv
ea9f5538c2
GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.
2018-04-15 15:02:50 -05:00
Subv
d8fdbefef6
GPU: Don't use explicit binding points when uploading the constbuffers to opengl.
...
The bindpoints will now be dynamically calculated based on the number of buffers used by the previous shader stage.
2018-04-15 14:14:57 -05:00
Subv
1a31997264
GPU: Don't use GetPointer when uploading the constbuffer data to the GPU.
2018-04-15 11:18:09 -05:00
Subv
ffdc9e716d
GPU: Use the buffer hints from the shader decompiler to upload only the necessary const buffers for each shader stage.
2018-04-15 11:15:54 -05:00
bunnei
595d37d69a
shaders: Expose hints about used const buffers.
2018-04-15 11:50:10 -04:00
Subv
03cbd8f20f
GPU: Upload the entirety of each constbuffer for each shader stage as SSBOs.
...
We're going to need the shader generator to give us a mapping of the actual used const buffers to properly bind them to the shader.
2018-04-14 23:02:05 -05:00
Subv
ea730b69d1
GPU: Allow configuring ssbos in the opengl state manager.
2018-04-14 22:54:23 -05:00
Subv
e14e38fe0e
GPU: Added a function to determine whether a shader stage is enabled or not.
2018-04-14 22:54:23 -05:00
bunnei
538322ec1f
shaders: Add NumTextureSamplers const, remove unused #pragma.
2018-04-14 18:50:06 -04:00
bunnei
f48c229f0e
shaders: Address PR review feedback.
2018-04-14 16:01:41 -04:00
bunnei
2fcae0000f
gl_shader_decompiler: Cleanup log statements.
2018-04-14 16:01:41 -04:00
bunnei
47bf0b0094
shaders: Fix GCC and clang build issues.
2018-04-14 16:01:40 -04:00
bunnei
d166a50ded
gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.
2018-04-14 16:01:40 -04:00
bunnei
a859a70da1
shader_bytecode: Add FSETP and KIL to GetInfo.
2018-04-14 16:01:40 -04:00
bunnei
6fe96737a1
shader_bytecode: Add SubOp decoding.
2018-04-14 16:01:40 -04:00
bunnei
a5728bdd10
gl_shader_decompiler: Add shader stage hint.
2018-04-14 16:01:39 -04:00
bunnei
e3628ec6fd
renderer_opengl: Fix Morton copy byteswap, etc.
2018-04-14 16:01:39 -04:00
bunnei
1962aac7a0
gl_shader_manager: Implement SetShaderSamplerBindings.
2018-04-13 23:48:30 -04:00
bunnei
1a3dbd49ef
gl_rasterizer: Generate shaders and upload uniforms.
2018-04-13 23:48:29 -04:00
bunnei
8df3222eb3
gl_shader_decompiler: Basic impl. for very simple vertex shaders.
...
- Tested with Puyo Puyo Tetris and Cave Story+
2018-04-13 23:48:28 -04:00
bunnei
f11b2888c9
gl_shader_manager: Cleanup and consolidate uniform handling.
2018-04-13 23:48:28 -04:00
bunnei
7e7f053ea7
maxwell_3d: Make memory_manager public.
2018-04-13 23:48:27 -04:00
bunnei
4e961244a8
maxwell_3d: Fix shader_config decodings.
2018-04-13 23:48:26 -04:00
bunnei
2452d127dc
gl_rasterizer: Use shader program manager, remove test shader.
2018-04-13 23:48:26 -04:00
bunnei
f9c4e515d8
renderer_opengl: Add gl_shader_manager class.
2018-04-13 23:48:25 -04:00
bunnei
9e32fa6bb2
maxwell_to_gl: Add a few types, etc.
2018-04-13 23:48:24 -04:00
bunnei
7cebff07e4
gl_shader_gen: Add hashable setup/config structs.
2018-04-13 23:48:23 -04:00
bunnei
1aa7a9ae50
gl_shader_util: Add missing includes.
2018-04-13 23:48:23 -04:00
bunnei
f1915d909e
renderer_opengl: Use OGLProgram instead of OGLShader.
2018-04-13 23:48:21 -04:00
bunnei
56ee41ebe8
gl_shader_util: Grab latest upstream.
2018-04-13 23:48:21 -04:00
bunnei
83007952ea
gl_resource_manager: Grab latest upstream.
2018-04-13 23:48:20 -04:00
bunnei
f0f3990064
gl_shader_decompiler: Add skeleton code from Citra for shader analysis.
2018-04-13 23:48:20 -04:00
bunnei
0b49a74e19
shader_bytecode: Add initial module for shader decoding.
2018-04-13 23:48:19 -04:00
James Rowe
d8502eb24a
Fix clang format issues
2018-04-06 22:00:48 -06:00
Subv
cb3ca1d4cf
GPU: Assert when finding a texture with a format type other than UNORM.
2018-04-06 20:44:46 -06:00
Subv
c63f7aa93b
GL: Set up the textures used for each draw call.
...
Each Maxwell shader stage can have an arbitrary number of textures, but we're limited to a certain number in OpenGL. We try to only use the minimum amount of host textures by not keeping a 1:1 relation between guest texture ids and host texture ids, ie, guest texture id 8 can be host texture id 0 if it's the only texture used in the guest shader program.
This mapping will have to be passed to the shader decompiler so it can rewrite the texture accesses.
2018-04-06 20:44:46 -06:00
Subv
4f1665d365
GL: Bind the textures to the shaders used for drawing.
2018-04-06 20:44:46 -06:00
Subv
8bc63e89e4
GLCache: Specialize the MortonCopy function for the DXT1 texture format.
...
It will now use the UnswizzleTexture function instead of the MortonCopyPixels128, which doesn't seem to work for textures.
2018-04-06 20:44:46 -06:00
Subv
1e6faaf2b3
GLCache: Implemented GetTextureSurface.
2018-04-06 20:44:45 -06:00
Subv
2a5e90745c
GLCache: Support uploading compressed textures to the GPU.
...
Compressed texture formats like DXT1, DXT2, DXT3, etc will use this to ease the load on the CPU.
2018-04-06 20:44:45 -06:00
Subv
34b212c6a8
GL: Remove remaining references to 3DS-specific pixel formats
2018-04-06 20:44:42 -06:00