Commit Graph

58 Commits

Author SHA1 Message Date
Henrik Rydgård
61acce195c Avoid decoding indices when we don't need them. 2023-12-20 14:25:19 +01:00
Henrik Rydgård
632fa1c9d6 Cache and hash data for DrawPixels.
We already had a cache to reuse texture objects so just
opportunistically reuse them when easy to do so.
2023-11-11 19:58:12 +01:00
Henrik Rydgård
431f142413 Cleanup in ge_constants.h, add virtual CLUT8 buffer format 2022-09-14 22:18:35 +02:00
Unknown W. Brackets
167213c746 softgpu: Cache texture bufws at 16 bit.
Reducing the size of state a bit.
2022-09-12 21:57:00 -07:00
Unknown W. Brackets
402492a958 GE Debugger: Show imm prim flag detail in disasm. 2022-09-06 22:31:09 -07:00
Unknown W. Brackets
880f6f8d49 GPU: Handle more flags on imm prim command. 2022-09-06 22:20:45 -07:00
Henrik Rydgård
a854fbbe76 fbtex matching: Shrink the matching struct, use TinySet instead of vector to avoid an allocation. 2022-09-01 10:24:52 +02:00
Henrik Rydgård
51686f4936 Copy color from overlapping framebuffers on bind, under certain conditions.
Leads to much faster performance in Juiced 2.

This will later be expanded to handle more things in a more elegant way,
like the framebuffer overlap in God of War for the shadows and
color reinterpretation in a generic way.

Fixes #15728
2022-08-22 16:06:55 +02:00
Henrik Rydgård
5785cf40ad Clean up and comment framebuffer struct better, add bind sequence numbers 2022-08-17 10:09:11 +02:00
Unknown W. Brackets
10a77d29ab Debugger: Track texture usage too. 2021-02-15 15:01:23 -08:00
Henrik Rydgård
981d0a2abe Reinterpret the data when binding a framebuffer with a different 16-bit format.
Car reflections in Outrun are better (see #11358) but have some
blue/yellow color garbage that will need a different fix.
2020-11-08 11:32:55 +01:00
Henrik Rydgård
f2e315b9a6 More shadergen work
Buildfix
2020-11-08 11:32:53 +01:00
Henrik Rydgård
ba0d04a142 Vulkan: Implement depth texturing through depal. 2020-08-09 20:31:04 +02:00
Henrik Rydgård
58ef0c8e80 Texture from framebuffer: Logging improvements 2020-08-04 14:45:14 +02:00
Unknown W. Brackets
9a4cd5bd9d GPU: Skip specular on powered diffuse.
Matches hardware tests and improves lighting for Virtua Tennis, see #4140.
2018-11-22 07:59:56 -08:00
Unknown W. Brackets
c32ffa1db0 GE Debugger: Rename depth clamp more places.
Was still showing clip enable in disasm.
2018-08-11 16:33:39 -07:00
Unknown W. Brackets
2a13a66e18 GPU: Use hw tess only for hw transform.
This may be needed if we start using software for points/lines.
2018-06-28 19:47:33 -07:00
Henrik Rydgård
7ab6956828 The UNKNOWN(3) mip selection mode seems to act like CONST. Keep that working. 2017-11-20 12:39:01 +01:00
Henrik Rydgård
5a65334646 Use dirty-flags more in Vulkan state setting 2017-08-14 15:14:46 +02:00
Henrik Rydgård
35c8a05d29 Minor GPU disassembler update 2017-08-05 18:37:03 +02:00
Henrik Rydgård
1faae8b6d6 Port some other minor changes over from #9255 2017-04-03 16:47:30 +02:00
Henrik Rydgard
c70265d7f2 Use table-driven dirtying instead of callbacks in GPU_GLES 2017-01-24 18:12:20 +01:00
Unknown W. Brackets
277b76e2ae Treat GE_PATCHPRIM_UNKNOWN as points.
Confirmed by tests on hardware - although it's doubtful any games use
this type.
2016-04-10 11:58:15 -07:00
Henrik Rydgard
d85dce0c21 Add limited support for newly discovered 32-bit index buffer format (by unknownbrackets)
See https://github.com/hrydgard/pspautotests/pull/184

Will truncate indices past 65536.
2016-04-10 11:03:07 +02:00
Henrik Rydgard
f3b0562bd8 Improve viewport terminology a bit. No functional change. 2015-11-04 22:03:29 +01:00
Unknown W. Brackets
98d7afae89 Switch to #pragma once in a few places.
Doesn't really affect git history much to change these.
2015-03-02 22:34:51 -08:00
raven02
e61a151942 Add Vertex texture/color GE commands 2014-04-26 23:53:17 +08:00
raven02
abc5c86339 Split out texture level 2014-04-19 06:45:17 +08:00
raven02
078606a528 enum for GE_TEXFUNC_UNKNOWN1/2/3 = 5/6/7 2013-12-14 06:48:45 +08:00
Unknown W. Brackets
f1f526f8cd Add some additional unknown cmds to reporting. 2013-10-08 00:34:17 -07:00
raven02
9e17a4abdb Add bunch of GE_CMD_UNKNOWN_XX 2013-09-20 14:31:16 +08:00
raven02
5e3b175045 Reformat and use enum for GETextureFiltering 2013-09-04 16:54:25 +08:00
raven02
67cdf87fc0 Cleanup and add GE_PATCHPRIM_UNKNOWN=3 2013-09-04 16:10:52 +08:00
Florent Castelli
c6932e2675 Use GEPrimitiveType everywhere instead of stupid integer 2013-08-25 19:51:06 +02:00
raven02
2820e5303f Add GE_LIGHTTYPE_UNKNOWN 2013-08-20 11:41:24 +08:00
Unknown W. Brackets
a5cf284c1b Treat UV gen mode 3 as GE_TEXMAP_TEXTURE_COORDS.
Fixes Riviera, #2214.
2013-08-19 00:33:15 -07:00
Tony Wasserka
e984374b29 GPU: Explicitily assign enum values for GEComparison. 2013-08-16 23:49:14 +02:00
Tony Wasserka
11a94e1d14 softgpu: Implement spline surface drawing (without patch subdivision). 2013-08-16 23:49:13 +02:00
Tony Wasserka
d2f30961af softgpu: Make perspective correct uv mapping code more readable and implement projection mapping. 2013-08-16 23:49:12 +02:00
Tony Wasserka
df141ffe6b softgpu: Implement stencil testing. Add some TODOs. Disable alpha blending when clear mode is active.
GPUState: Fix incorrect stencil enum.
2013-08-16 23:49:06 +02:00
Tony Wasserka
73e3b78169 softgpu: Support flat triangle shading. 2013-08-16 23:48:57 +02:00
raven02
f1473ba1fb Add remaining GE_LOGI in enum GELogicOp 2013-08-06 16:01:31 +08:00
Unknown W. Brackets
89349eae7e Consistently use a proper type for GE fb format. 2013-07-29 23:05:59 -07:00
Unknown W. Brackets
abd9dc6137 Use the light computation/type GE accessors. 2013-07-21 19:44:30 -07:00
Unknown W. Brackets
0e0b074ed7 Correct dest stride on GPU block transfer. 2013-04-08 08:36:51 -07:00
Henrik Rydgard
ac47d74d7b Remove obviously useless alpha tests. May help speed on mobile GPUs a little. 2013-03-11 18:43:36 +01:00
Henrik Rydgard
510f1ac3f4 Some misc GE constant renames / disasm 2013-02-02 13:40:26 +01:00
Henrik Rydgard
7a5aa60b3a Disasm GE_CMD_REVERSENORMAL 2013-01-25 18:29:13 +01:00
Henrik Rydgard
14d26141a5 TextureCache_Invalidate now does a range match instead of just checking if the texture address was in range. 2013-01-22 22:03:39 +01:00
Henrik Rydgard
7271e3fcd5 Fix fog and stencil buffer clearing. The latter fixes the sky in MotoGP. 2013-01-14 20:44:11 +01:00