7c9644646f
general: Make formatting of logged hex values more straightforward
...
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
2018-05-02 09:49:36 -04:00
225ff1130f
Merge pull request #422 from bunnei/shader-mov
...
Shader instructions MOV_C, MOV_R, and several minor GPU things
2018-04-29 21:47:42 -04:00
f41eb95e13
maxwell_3d: Reset vertex counts after drawing.
2018-04-29 16:23:31 -04:00
08b8fcbe6d
gl_shader_decompiler: Implement MOV_R.
2018-04-29 16:05:18 -04:00
316327f487
maxwell_to_gl: Implement type SignedNorm, Size_8_8_8_8.
2018-04-29 16:05:17 -04:00
c7ce472eeb
shader_bytecode: Add decoding for FMNMX instruction.
2018-04-29 16:05:17 -04:00
da32c648bf
Shaders: Implemented predicate condition 3 (LessEqual) in the fset and fsetp instructions.
2018-04-29 12:49:41 -05:00
a71346cd7c
gl_shader_decompiler: Implement MOV_C.
2018-04-29 13:13:13 -04:00
6c464a2a4a
Merge pull request #416 from bunnei/shader-ints-p3
...
gl_shader_decompiler: Implement MOV32I, partially implement I2I, I2F
2018-04-29 12:56:16 -04:00
f87ea8fa8b
fermi_2d: Fix surface copy block height.
2018-04-28 20:40:03 -04:00
0c01c34eff
gl_shader_decompiler: Partially implement I2I_R, and I2F_R.
2018-04-28 20:03:19 -04:00
e73927cfc2
gl_shader_decompiler: More cleanups, etc. with how we handle register types.
2018-04-28 20:03:19 -04:00
c691fa4074
GLSLRegister: Simplify register declarations, etc.
2018-04-28 20:03:19 -04:00
f2dcb39049
shader_bytecode: Add decodings for i2i instructions.
2018-04-28 20:03:18 -04:00
a7b5ab4d9a
gl_shader_decompiler: Implement MOV32_IMM instruction.
2018-04-28 20:03:18 -04:00
6b365f7703
Merge pull request #408 from bunnei/shader-ints-p2
...
gl_shader_decompiler: Add GLSLRegisterManager class to track register state.
2018-04-27 16:06:09 -04:00
16198f979e
renderer_opengl: Replace usages of LOG_GENERIC with fmt-capable equivalents
2018-04-27 12:09:35 -04:00
e6242ab5e6
gl_shader_decompiler: Add GLSLRegisterManager class to track register state.
2018-04-27 11:49:26 -04:00
8475496630
general: Convert assertion macros over to be fmt-compatible
2018-04-27 10:04:02 -04:00
c9d7abe9c9
gl_shader_decompiler: Boilerplate for handling integer instructions.
2018-04-26 14:38:42 -04:00
37fa9a15cd
gl_shader_decompiler: Move color output to EXIT instruction.
2018-04-26 14:38:41 -04:00
f81b915fd8
Merge pull request #396 from Subv/shader_ops
...
Shaders: Implemented the FSET instruction.
2018-04-25 22:42:54 -04:00
20d86d8a36
GPU: Partially implemented the Fermi2D surface copy operation.
...
The hardware allows for some rather complicated operations to be performed on the data during the copy, this is not implemented.
Only same-format same-size raw copies are implemented for now.
2018-04-25 12:54:26 -05:00
e9ad8e9185
Shaders: Added bit decodings for the I2I instruction.
2018-04-25 12:52:55 -05:00
1740aa5444
Shaders: Implemented the FSET instruction.
...
This instruction is similar to the FSETP instruction, but it doesn't set a predicate, it sets the destination register to 1.0 if the condition holds, and 0 otherwise.
2018-04-25 12:52:32 -05:00
1dd4861d38
GPU: Make the Textures::CopySwizzledData function accessible from the outside of the file.
2018-04-25 11:55:30 -05:00
a6da2b93c1
GPU: Added a function to retrieve the bytes per pixel of the render target formats.
2018-04-25 11:55:29 -05:00
378c881427
GPU: Added surface copy registers to Fermi2D
2018-04-25 11:55:29 -05:00
b1109931b9
GPU: Added boilerplate code for the Fermi2D engine
2018-04-25 11:55:29 -05:00
c16cfbbc6c
GPU: Reduce the number of registers of Maxwell3D to 0xE00.
...
The rest are just macro shim registers.
2018-04-25 11:55:28 -05:00
a994446b6e
GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.
...
It doesn't belong in the PFIFO handler.
2018-04-25 11:55:27 -05:00
e2f2a49d2d
GPU: Corrected the upper bound of the PFIFO method ids in the command processor.
2018-04-25 11:53:54 -05:00
b7551e457b
video-core: Move logging macros over to new fmt-capable ones
2018-04-25 09:13:57 -04:00
0369ee7248
Shaders: Added decodings for the FSET instructions.
2018-04-24 22:42:54 -05:00
c30cd898fc
renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8.
2018-04-24 22:31:46 -04:00
f1a4a004fb
gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.
2018-04-24 22:31:46 -04:00
0a023cfb4f
gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.
2018-04-24 22:31:46 -04:00
9022d926eb
gl_rasterizer_cache: Use new logger.
2018-04-24 22:31:46 -04:00
fbb3cd110c
gl_rasterizer_cache: Add a function for finding framebuffer GPU address.
2018-04-24 22:31:46 -04:00
bc0f1896fc
gl_rasterizer_cache: Handle compressed texture sizes.
2018-04-24 22:31:46 -04:00
4415e00181
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
2018-04-24 22:31:45 -04:00
10c6d89119
memory_manager: Add implement CpuToGpuAddress.
2018-04-24 17:49:20 -04:00
239ac8abe2
memory_manager: Make GpuToCpuAddress return an optional.
2018-04-24 17:49:19 -04:00
9e11a76e92
memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.
2018-04-24 17:40:43 -04:00
e8c2bb24b2
Merge pull request #386 from Subv/gpu_query
...
GPU: Added asserts to our code for handling the QUERY_GET GPU command.
2018-04-24 16:13:51 -04:00
d1b23b2b51
renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles()
2018-04-24 11:13:08 -04:00
07dc0bbf3e
Merge pull request #379 from Subv/multi_buffers
...
GPU: Support multiple enabled vertex arrays.
2018-04-24 01:09:02 -04:00
f208953585
GPU: Added asserts to our code for handling the QUERY_GET GPU command.
...
This is based on research from nouveau. Many things are currently unknown and will require hwtests in the future.
This commit also stubs QueryMode::Write2 to do the same as Write. Nouveau code treats them interchangeably, it is currently unknown what the difference is.
2018-04-23 17:06:57 -05:00
3967f9c6ef
Merge pull request #383 from Subv/gpu_mmu
...
GPU: Make the GPU virtual memory manager use 16 page bits and 10 pagetable bits.
2018-04-23 14:00:52 -04:00
9531a29283
GPU: Support multiple enabled vertex arrays.
...
The vertex arrays will be copied to the stream buffer one after the other, and the attributes will be set using the ARB_vertex_attrib_binding extension.
yuzu now thus requires OpenGL 4.3 or the ARB_vertex_attrib_binding extension.
2018-04-23 11:34:50 -05:00