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
Subv
6400a3bb35
RasterizerCache: Remove 3DS-specific pixel formats.
...
We're only left with RGB8 and DXT1 for now. More will be added as they are needed.
2018-04-06 20:40:24 -06:00
Subv
ab6d7991f8
GL: Create the sampler objects when starting up the GL rasterizer.
2018-04-06 20:40:24 -06:00
Subv
232ffe85ad
GL: Ported the SamplerInfo struct from citra.
2018-04-06 20:40:24 -06:00
Subv
dc26ad9aec
GL: Rename PicaTexture to MaxwellTexture.
2018-04-06 20:40:24 -06:00
Subv
3c9cbbca68
GL: Added functions to convert Maxwell tex filters and wrap modes to OpenGL.
2018-04-06 20:40:23 -06:00
Subv
d9e067fad6
Textures: Added a helper function to know if a texture is blocklinear or pitch.
2018-04-06 20:40:23 -06:00
N00byKing
63b5de9c40
rasterizer_interface.h: Update from citra to yuzu
2018-04-04 23:07:58 +02:00
N00byKing
b84397745f
gl_rasterizer_cache.cpp: Update from citra to yuzu
2018-04-04 23:05:10 +02:00
N00byKing
3ca8768d3a
gl_rasterizer_cache.h: Update from citra to yuzu
2018-04-04 23:04:24 +02:00
N00byKing
2a2af539f3
renderer_opengl.h: Update from citra to yuzu
2018-04-04 23:03:02 +02:00
Subv
84c9824895
GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them.
2018-04-01 12:07:26 -05:00
Subv
7fe4f9491e
GPU: Implemented a gpu macro interpreter.
...
The Ryujinx macro interpreter and envydis were used as reference.
Macros are programs that are uploaded by the games during boot and can later be called by writing to their method id in a GPU command buffer.
2018-04-01 12:07:26 -05:00
bunnei
6333552a5d
renderer_opengl: Use better naming for DrawScreens and DrawSingleScreen.
2018-03-26 21:17:07 -04:00
bunnei
12a6c7b11b
gl_rasterizer: Move code to bind framebuffer surfaces before draw to its own function.
2018-03-26 21:17:05 -04:00
bunnei
b9eae6e652
gl_rasterizer: Add a SyncViewport method.
2018-03-26 21:17:04 -04:00
bunnei
2666b52264
gl_rasterizer: Move PrimitiveTopology check to MaxwellToGL.
2018-03-26 21:17:03 -04:00
bunnei
74c4739713
graphics_surface: Fix merge conflicts.
2018-03-26 21:17:03 -04:00
bunnei
7c376760c0
gl_rasterizer: Use ReadBlock instead of GetPointer for SetupVertexArray.
2018-03-26 21:17:02 -04:00
bunnei
95d56cac29
gl_rasterizer: Normalize vertex array data as appropriate.
2018-03-26 21:17:02 -04:00
bunnei
0e59fbd73f
maxwel_to_gl: Fix string formatting in log statements.
2018-03-26 21:17:01 -04:00
bunnei
b601155fb0
rasterizer: Rename DrawTriangles to DrawArrays.
2018-03-26 21:17:00 -04:00
bunnei
ec13680b3e
gl_rasterizer: Use passthrough shader for SetupVertexShader.
2018-03-26 21:17:00 -04:00
bunnei
71a932291f
renderer_opengl: Logging, etc. cleanup.
2018-03-26 21:16:59 -04:00
bunnei
be645eece3
renderer_opengl: Remove framebuffer RasterizerFlushVirtualRegion hack.
2018-03-26 21:16:58 -04:00
bunnei
36a3a82135
gl_rasterizer_cache: Implement UpdatePagesCachedCount.
2018-03-26 21:16:58 -04:00
bunnei
4c36e92bf4
gl_rasterizer: Implement SetupVertexArray.
2018-03-26 21:16:56 -04:00
bunnei
4c0ed161a8
gl_rasterizer_cache: Fix an ASSERT_MSG.
2018-03-26 21:16:56 -04:00
bunnei
9e146ba2db
maxwell_to_gl: Add module and function for decoding VertexType.
2018-03-26 21:16:55 -04:00
bunnei
ded4139447
maxwell_3d: Use names that match envytools for VertexType.
2018-03-26 21:16:55 -04:00
bunnei
d37f03d0fe
maxwell_3d: Add VertexAttribute struct and cleanup.
2018-03-26 21:16:54 -04:00
bunnei
5f3f68e064
gl_rasterizer: Use 32 texture units instead of 3.
2018-03-26 21:16:53 -04:00
bunnei
b1a3858e30
gl_rasterizer: Implement DrawTriangles.
2018-03-26 21:16:53 -04:00
bunnei
e04a5dec60
Maxwell3D: Call AccelerateDrawBatch on DrawArrays.
2018-03-26 21:16:52 -04:00
bunnei
5ae2fe6c69
gl_rasterizer: Implement AnalyzeVertexArray.
2018-03-26 21:16:52 -04:00
bunnei
e285a5d6da
gl_rasterizer_cache: MortonCopy Switch-style.
2018-03-26 21:16:51 -04:00
bunnei
25e901ec1e
gl_rasterizer_cache: Implement GetFramebufferSurfaces.
2018-03-26 21:16:51 -04:00
bunnei
bf282aa01f
maxwell: Add RenderTargetFormat enum.
2018-03-26 21:16:49 -04:00
bunnei
33b4c486f3
renderer_opengl: Only draw the screen if a framebuffer is specified.
2018-03-26 21:16:49 -04:00
Subv
3707231f5d
GPU: Load the sampler info (TSC) when retrieving active textures.
2018-03-26 15:46:49 -05:00
Subv
c8425b1af4
GPU: Added the TSC structure. It contains information about the sampler.
2018-03-26 15:45:05 -05:00