Unknown W. Brackets
d6506b3d59
GPU: Consider bbox failed with zero verts.
...
This seems to match behavior in tests.
2017-08-20 13:30:10 -07:00
Henrik Rydgard
0d1d6f98e4
Pass in the DrawContext to all backends
2017-01-30 20:26:47 +01:00
Henrik Rydgard
e4cb44c243
Merge the texture flags into the dirty flags
2017-01-24 18:12:20 +01:00
Henrik Rydgard
c289a2c7bf
Split TextureChanged into two bools, so we can later convert to dirtyflags
2017-01-24 18:12:20 +01:00
Henrik Rydgard
bd4436c6eb
Centralize EstimatePerVertexCost and Execute_BlockTransferStart
2017-01-23 17:22:17 +01:00
Henrik Rydgard
5ef608fa50
GPU stats: Have each backend format its own string.
2016-03-31 10:17:02 +02:00
Unknown W. Brackets
f60aef2e16
Add a more specific interface for video frames.
...
Since we know more about them. No functional change yet.
2016-01-17 12:57:26 -08:00
Henrik Rydgard
f3b0562bd8
Improve viewport terminology a bit. No functional change.
2015-11-04 22:03:29 +01:00
Henrik Rydgard
cde585a29a
Include dependency cleanup
2015-07-29 11:48:20 +02:00
Unknown W. Brackets
e1d2e72480
Add block transfer to null gpu.
...
For tests, better to have it here.
2014-08-30 22:14:58 -07:00
Unknown W. Brackets
adee76cd62
Add a matching PerformMemoryUpload().
...
Just so we have both Download and Upload to use later.
2014-06-10 00:45:03 -07:00
Unknown W. Brackets
089ee41d9c
Implement a very basic stencil upload.
...
This is not fast or efficient, but works.
2014-05-31 21:48:09 -07:00
Unknown W. Brackets
1433b98c46
Clean up the framebuffer force downloads.
2014-05-31 10:03:03 -07:00
Unknown W. Brackets
8dcc09c9e1
Use a separate func for gpu memset().
2014-05-27 07:50:01 -07:00
Unknown W. Brackets
8275f613ce
UpdateMemory() now returns whether to skip the cpy.
...
This way it can do it itself as necessary in the right order.
2014-05-25 21:48:41 -07:00
Henrik Rydgard
16f4622ac7
Remove cached light variables to reduce work when parsing DLs.
...
Also removes some duplication between GL and the inactive D3D code.
2014-04-21 12:51:19 +02:00
Unknown W. Brackets
4c1c694d4b
Use flags to avoid hashing textures when unchanged.
...
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.
Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Henrik Rydgard
5c8a74d911
Stencil rectangle clears: Take the value from the second vertex.
2013-10-10 21:36:32 +02:00
Henrik Rydgard
424b4cbd5f
Move GE_CMD_BJUMP to GPUCommon. Add the flag. (no actual bbox impl yet)
2013-09-24 14:14:04 +02:00
Unknown W. Brackets
6ffbf3964a
Use the right vertex/index addr in NullGpu.
2013-09-21 18:56:26 -07:00
Unknown W. Brackets
7ca64374ea
Return 24-bit floats in sceGeGetMtx().
2013-09-21 10:32:09 -07:00
Unknown W. Brackets
2e8b475789
Don't ignore the low bits of the framebuf pointer.
2013-09-07 02:01:01 -07:00
Unknown W. Brackets
5ab04a3076
Centralize CLUT handling form gstate values.
2013-08-24 11:34:37 -07:00
Unknown W. Brackets
0a217a1254
Use accessors better for block transfers.
2013-08-24 11:34:36 -07:00
Unknown W. Brackets
90affa2203
Remove very questionable DrawSync override.
2013-08-17 09:53:10 -07:00
Henrik Rydgard
50a2d1b87f
More work on prescaled UV
2013-07-28 00:33:51 +02:00
Unknown W. Brackets
f8d6bda678
Add a better signal for VRAM copies in the GPU.
2013-06-09 23:55:32 -07:00
Unknown W. Brackets
3c0ed69fd2
Improve GPU invalidation interface, check fonts.
...
When a font is rendered, tell the GPU about it, but don't rehash.
This not only improves perf (less hashing) but makes font changes more
immediate (no deferred hashing.) But only if they use sceFont.
2013-05-05 22:52:01 -07:00
Unknown W. Brackets
1edbfa3212
Use a downcount and fast run loop in the GE.
2013-04-28 14:23:30 -07:00
Unknown W. Brackets
ec009bc299
Cleanup a few GPU error codes.
2013-03-31 23:57:03 -07:00
Unknown W. Brackets
affe91cb3b
Refactor some GPU methods to return errors.
2013-03-31 23:57:03 -07:00
Unknown W. Brackets
0f15a5eae6
Move the pc-management cmds to GPUCommon.
2013-03-31 23:57:02 -07:00
Unknown W. Brackets
430139b12a
Minimal revert of the GE-related interrupt changes.
...
Keep most of them, just revert using getList() which isn't cutting it
right now. Fixes #595 .
2013-02-10 02:03:02 -08:00
Florent Castelli
8004d360dd
Interrupt handler reorganization for easier GE interrupt support
2013-02-04 03:10:01 +01:00
Henrik Rydgard
510f1ac3f4
Some misc GE constant renames / disasm
2013-02-02 13:40:26 +01:00
Henrik Rydgard
0769a1d3e8
I think I finally understood how origin-relative GE jumps are supposed to work.
2013-02-02 13:38:34 +01:00
Unknown W. Brackets
661c7132c4
Don't check that the pc is valid every single op.
2013-01-29 08:19:07 -08:00
Unknown W. Brackets
3861ce0376
Use sceKernelDcacheWritebackAll() as a hint only.
2013-01-05 17:07:19 -08:00
Unknown W. Brackets
97bdaf5dd2
Add support for selecting the GE callback per list.
...
Not sure if interrupts are right, but this should be more right.
2012-12-29 15:55:05 -08:00
Florent Castelli
36a71eafd0
Move InterpretList and ProcessDLQueue to GPUCommon
2012-12-29 03:11:36 +01:00
Florent Castelli
6eec4f5d7f
Move display list management to common GPU class
2012-12-29 03:11:35 +01:00
Henrik Rydgård
e2cc226d0d
Just some cleanup of GPU code
2012-12-28 20:54:00 +01:00
Unknown W. Brackets
d378b1c324
Deallocate properly in shutdown, not in init.
2012-12-24 01:41:15 -08:00
Unknown W. Brackets
2736012719
Cleanup some state on reset in the GPU code.
2012-12-23 23:12:53 -08:00
Unknown W. Brackets
6a9a183dd3
Use sceKernelDcache*() to invalidate the texcache.
...
Also in the block transfer code.
2012-12-21 14:10:57 -08:00
Henrik Rydgard
4c23d668e1
Cleanup and reorganize gpu code a little
2012-12-21 16:50:14 +01:00
Unknown W. Brackets
9034cfbfd3
Defer HLE interrupts, vblank only when enabled.
...
Based on tests, vblank doesn't queue up (makes sense) while
interrupts are disabled.
I'm not 100% sure about the GPU stuff but it seems to only come
from HLE via sceGe, so this should fix those return values.
2012-12-20 21:54:40 -08:00
Henrik Rydgard
980d13fe50
Assorted GPU fixes: Advance vertex pointer, fixes missing triangles in SPT. More logging. Separate proj matrices for through and normal mode (through matrix don't need to get updated as often). Some cleanup.
2012-11-28 13:45:22 +01:00
Henrik Rydgard
870ea6628b
Reasonably correct viewport handling. Optional debug stats overlay (not always 100% working).
2012-11-26 17:35:08 +01:00
Florent Castelli
56175bc505
Defer blend, cull and depth test changes to draw command
...
Avoid unnecessary state changes and reduces the amount of OpenGL calls.
It also puts all the interesting logic at the same place, reducing the
complexity a little.
2012-11-24 15:19:29 +01:00