bunnei
c1408040a6
gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.
8 years ago
bunnei
dbf1fb7e61
gl_shader_decompiler: Allow vertex position to be used in fragment shader.
8 years ago
bunnei
7fe43996de
gl_shader_decompiler: Implement IPA instruction.
8 years ago
bunnei
05305422e1
gl_shader_decompiler: Add support for TEXS instruction.
8 years ago
bunnei
69f5eadc2b
gl_shader_decompiler: Use fragment output color for GPR 0-3.
8 years ago
bunnei
fdca99c4fb
gl_shader_decompiler: Partially implement MUFU.
8 years ago
Subv
d388e8e8f9
MaxwellToGL: Implemented tex wrap mode 1 (Wrap, GL_REPEAT).
8 years ago
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.
8 years ago
bunnei
ad8a27a7b3
gl_rendering: Use NGLOG* for changed code.
8 years ago
bunnei
65092bf8d8
gl_rasterizer: Implement indexed vertex mode.
8 years ago
Subv
ea9f5538c2
GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.
8 years ago
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.
8 years ago
Subv
1a31997264
GPU: Don't use GetPointer when uploading the constbuffer data to the GPU.
8 years ago
Subv
ffdc9e716d
GPU: Use the buffer hints from the shader decompiler to upload only the necessary const buffers for each shader stage.
8 years ago
bunnei
595d37d69a
shaders: Expose hints about used const buffers.
8 years ago
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.
8 years ago
Subv
ea730b69d1
GPU: Allow configuring ssbos in the opengl state manager.
8 years ago
Subv
e14e38fe0e
GPU: Added a function to determine whether a shader stage is enabled or not.
8 years ago
bunnei
538322ec1f
shaders: Add NumTextureSamplers const, remove unused #pragma.
8 years ago
bunnei
f48c229f0e
shaders: Address PR review feedback.
8 years ago
bunnei
2fcae0000f
gl_shader_decompiler: Cleanup log statements.
8 years ago
bunnei
47bf0b0094
shaders: Fix GCC and clang build issues.
8 years ago
bunnei
d166a50ded
gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.
8 years ago
bunnei
a859a70da1
shader_bytecode: Add FSETP and KIL to GetInfo.
8 years ago
bunnei
6fe96737a1
shader_bytecode: Add SubOp decoding.
8 years ago
bunnei
a5728bdd10
gl_shader_decompiler: Add shader stage hint.
8 years ago
bunnei
e3628ec6fd
renderer_opengl: Fix Morton copy byteswap, etc.
8 years ago
bunnei
1962aac7a0
gl_shader_manager: Implement SetShaderSamplerBindings.
8 years ago
bunnei
1a3dbd49ef
gl_rasterizer: Generate shaders and upload uniforms.
8 years ago
bunnei
8df3222eb3
gl_shader_decompiler: Basic impl. for very simple vertex shaders.
- Tested with Puyo Puyo Tetris and Cave Story+
8 years ago
bunnei
f11b2888c9
gl_shader_manager: Cleanup and consolidate uniform handling.
8 years ago
bunnei
7e7f053ea7
maxwell_3d: Make memory_manager public.
8 years ago
bunnei
4e961244a8
maxwell_3d: Fix shader_config decodings.
8 years ago
bunnei
2452d127dc
gl_rasterizer: Use shader program manager, remove test shader.
8 years ago
bunnei
f9c4e515d8
renderer_opengl: Add gl_shader_manager class.
8 years ago
bunnei
9e32fa6bb2
maxwell_to_gl: Add a few types, etc.
8 years ago
bunnei
7cebff07e4
gl_shader_gen: Add hashable setup/config structs.
8 years ago
bunnei
1aa7a9ae50
gl_shader_util: Add missing includes.
8 years ago
bunnei
f1915d909e
renderer_opengl: Use OGLProgram instead of OGLShader.
8 years ago
bunnei
56ee41ebe8
gl_shader_util: Grab latest upstream.
8 years ago
bunnei
83007952ea
gl_resource_manager: Grab latest upstream.
8 years ago
bunnei
f0f3990064
gl_shader_decompiler: Add skeleton code from Citra for shader analysis.
8 years ago
bunnei
0b49a74e19
shader_bytecode: Add initial module for shader decoding.
8 years ago
James Rowe
d8502eb24a
Fix clang format issues
8 years ago
Subv
cb3ca1d4cf
GPU: Assert when finding a texture with a format type other than UNORM.
8 years ago
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.
8 years ago
Subv
4f1665d365
GL: Bind the textures to the shaders used for drawing.
8 years ago
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.
8 years ago
Subv
1e6faaf2b3
GLCache: Implemented GetTextureSurface.
8 years ago
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.
8 years ago