174cba5c58
renderer_opengl: Implement BlendEquation and BlendFunc.
2018-04-17 18:11:48 -04:00
1f6fe062ca
gl_shader_decompiler: Fix warnings with MarkAsUsed.
2018-04-17 16:36:44 -04:00
ed542a7309
gl_shader_decompiler: Cleanup logging, updating to NGLOG_*.
2018-04-17 16:36:44 -04:00
ef2d5ab0c1
gl_shader_decompiler: Implement several MUFU subops and abs_d.
2018-04-17 16:36:43 -04:00
59f4ff4659
gl_shader_decompiler: Fix swizzle in GetRegister.
2018-04-17 16:36:42 -04:00
5a28dce9eb
gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.
2018-04-17 16:36:42 -04:00
8d4899d6ea
gl_shader_decompiler: Allow vertex position to be used in fragment shader.
2018-04-17 16:36:40 -04:00
95144cc39c
gl_shader_decompiler: Implement IPA instruction.
2018-04-17 16:36:39 -04:00
8b4443c966
gl_shader_decompiler: Add support for TEXS instruction.
2018-04-17 16:36:38 -04:00
5ba71369ac
gl_shader_decompiler: Use fragment output color for GPR 0-3.
2018-04-17 15:25:54 -04:00
5d529698c9
gl_shader_decompiler: Partially implement MUFU.
2018-04-17 15:25:54 -04:00
2b082e2710
Merge pull request #343 from Subv/tex_wrap_4
...
GPU: Implement some wrap modes
2018-04-17 12:25:24 -04:00
636ad34707
MaxwellToGL: Implemented tex wrap mode 1 (Wrap, GL_REPEAT).
2018-04-17 10:17:18 -05:00
7fc516cc1a
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
77bdc49343
gl_rendering: Use NGLOG* for changed code.
2018-04-16 21:23:28 -04:00
1a1af3fda3
gl_rasterizer: Implement indexed vertex mode.
2018-04-16 21:10:15 -04:00
477aab5960
GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.
2018-04-15 15:02:50 -05:00
14ac40436e
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
e128e90350
GPU: Don't use GetPointer when uploading the constbuffer data to the GPU.
2018-04-15 11:18:09 -05:00
7da47da66e
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
73d9c494ea
shaders: Expose hints about used const buffers.
2018-04-15 11:50:10 -04:00
c9b511da08
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
1957640ea2
GPU: Allow configuring ssbos in the opengl state manager.
2018-04-14 22:54:23 -05:00
ae58e46036
GPU: Added a function to determine whether a shader stage is enabled or not.
2018-04-14 22:54:23 -05:00
1b41b875dc
shaders: Add NumTextureSamplers const, remove unused #pragma.
2018-04-14 18:50:06 -04:00
e6224fec27
shaders: Address PR review feedback.
2018-04-14 16:01:41 -04:00
eabeedf6af
gl_shader_decompiler: Cleanup log statements.
2018-04-14 16:01:41 -04:00
0d408b965b
shaders: Fix GCC and clang build issues.
2018-04-14 16:01:40 -04:00
86135864da
gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.
2018-04-14 16:01:40 -04:00
7639667562
shader_bytecode: Add FSETP and KIL to GetInfo.
2018-04-14 16:01:40 -04:00
5a47832221
shader_bytecode: Add SubOp decoding.
2018-04-14 16:01:40 -04:00
50023bdae7
gl_shader_decompiler: Add shader stage hint.
2018-04-14 16:01:39 -04:00
a992aac5eb
renderer_opengl: Fix Morton copy byteswap, etc.
2018-04-14 16:01:39 -04:00
0ca8fce9d0
gl_shader_manager: Implement SetShaderSamplerBindings.
2018-04-13 23:48:30 -04:00
beddc8afd2
gl_rasterizer: Generate shaders and upload uniforms.
2018-04-13 23:48:29 -04:00
85d77a3d24
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
51f37f5061
gl_shader_manager: Cleanup and consolidate uniform handling.
2018-04-13 23:48:28 -04:00
35aca0bf1f
maxwell_3d: Make memory_manager public.
2018-04-13 23:48:27 -04:00
33bb53571b
maxwell_3d: Fix shader_config decodings.
2018-04-13 23:48:26 -04:00
5617831d5f
gl_rasterizer: Use shader program manager, remove test shader.
2018-04-13 23:48:26 -04:00
459826a705
renderer_opengl: Add gl_shader_manager class.
2018-04-13 23:48:25 -04:00
8aa21a03b3
maxwell_to_gl: Add a few types, etc.
2018-04-13 23:48:24 -04:00
10953495c1
gl_shader_gen: Add hashable setup/config structs.
2018-04-13 23:48:23 -04:00
2fcbb35ad2
gl_shader_util: Add missing includes.
2018-04-13 23:48:23 -04:00
da1114ca59
renderer_opengl: Use OGLProgram instead of OGLShader.
2018-04-13 23:48:21 -04:00
4f2b2d0bc5
gl_shader_util: Grab latest upstream.
2018-04-13 23:48:21 -04:00
dbfd106ba0
gl_resource_manager: Grab latest upstream.
2018-04-13 23:48:20 -04:00
ed7e597b44
gl_shader_decompiler: Add skeleton code from Citra for shader analysis.
2018-04-13 23:48:20 -04:00
4e7e0f8112
shader_bytecode: Add initial module for shader decoding.
2018-04-13 23:48:19 -04:00
0b855f1c21
Fix clang format issues
2018-04-06 22:00:48 -06:00