Commit graph

1103 commits

Author SHA1 Message Date
degasus
bd0abb3d2f revert last commit, add CheckInvalidState to VideoBackend 2012-12-23 13:32:23 +01:00
degasus
ffddfd8662 do only invalid hashes instead of all textures on loading
this is a hack, but only the gpu thread is allowed to call ogl commands
suggestion: create an unused texture cache, so we can move all textures there
2012-12-22 17:30:13 +01:00
degasus
2df0c31d13 add invalid flag for BPStructs (fix issue 5790)
this flag will be set on loading a state and checked before every rendering.
2012-12-21 21:04:53 +01:00
NeoBrainX
0811311604 TextureCacheBase: Delete textures completely instead of just invalidating them in ClearRenderTargets.
That's what would've been done in the next TCB::Load() call, anyway.
Fixes issue 5742.

Additionally, change efb copies to specify 1 as the number of mipmaps because that makes more sense than anything else.
2012-12-17 19:36:31 +01:00
NeoBrainX
c82136abdc PixelShaderGen: Drop some useless and potentially buggy code.
Thanks to glennrics for noticing.
2012-12-10 16:13:22 +01:00
Glenn Rice
f6df3d1513 OSX build fix for the unordered_map/hash_map issue. 2012-12-10 08:40:27 -06:00
Glenn Rice
e85438cba0 Clean up gcc/g++ compiler warnings that have accumulated. 2012-12-10 00:40:28 -06:00
NeoBrainX
bed260aa14 VertexShaderManager: Fix redundant shader constant updates.
Thanks to konpie for spotting this.

Might give a fairly perceivable speedup in the D3D11 backend.
2012-12-01 14:23:24 +01:00
rog
97f5b1665f what is this even... 2012-11-26 02:11:52 -05:00
NeoBrainX
0fcb246b7e Enable GFX debugger functionality in Release builds. 2012-11-20 17:54:48 +01:00
NeoBrainX
4f652c4086 Partially revert "Check if BP and XF changes actually change values before flushing". Dolphin code sucks too much to get optimizations.
This reverts commit 5a77cae2e3.

Fixes issue 5459.
Fixes issue 5606.
2012-11-19 21:09:31 +01:00
NeoBrainX
4ff9e03509 Merge branch 'efb_scaling_fixes'. 2012-11-19 13:18:57 +01:00
NeoBrainX
b02bb7617f Fix some fractional EFB scaling issues. 2012-11-19 13:10:32 +01:00
XtraFear
d6697d50c7 Added option to toggle the display of On-Screen Display messages in the Interface tab. 2012-11-16 23:54:48 +01:00
NeoBrainX
f88e7d3b73 Fix an off-by-one error. 2012-11-16 14:29:11 +01:00
NeoBrainX
a38bb488d2 Remove Renderer::xScale and Renderer::yScale. 2012-11-16 14:29:09 +01:00
NeoBrainX
78031c2d54 Move ComputeDrawRectangle() to Renderer::UpdateDrawRectangle(). 2012-11-16 14:25:49 +01:00
rodolfoosvaldobogado@gmail.com
5230146c73 Hey, long time no commits :).
So to compensate lets bring back some speed to the emulation.
change a little the way the vertex are send to the gpu,
This first implementation changes dx9 a lot and dx11 a little to increase the parallelism between the cpu and gpu.
ogl: is my next step in ogl is a little more trickier so i have to take a little more time.
the original concept is Marcos idea, with my little touch to make it even more faster.
what to look for: SPEEEEEDDD :).
please test it a lot and let me know if you see any problem.
in dx9 the code is prepared to fall back to the previous implementation if your card does not support the amount of buffers needed.
So if you did not experience any speed gains you know where is the problem :).
for the ones with more experience and compression of the code please test changing the amount and size of the buffers to tune this for your specific machine.
The current values are the sweet spot for my machine.
All must Thanks Marcos, I hate him for giving good ideas when I'm full of work.
2012-10-20 10:22:15 -03:00
Pierre Bourdon
8cefcaa94c Implement a simple benchmarking mode which logs FPS to a file
Very useful to compare performance between two builds, check the impact of
a configuration option, etc. FPS log is stored in User/Logs/fps.txt and is
reset each time you launch a game. Only enabled if you check the "Log FPS
to file" option in your graphics settings.

Could be improved a bit: currently logs only every 1s (so you can't really
see small variations), maybe output more infos to the fps.txt like
average/stddev (but Excel/Libreoffice/Google Docs can compute that easily
too).
2012-10-04 05:41:02 +02:00
NeoBrainX
035840e7b5 Move last XFB size from Render to FramebufferManager. 2012-10-03 13:44:35 +02:00
NeoBrainX
6e4a61a991 Minor cleanups. 2012-10-03 13:44:04 +02:00
NeoBrainX
bb8b5936c0 Revert "Partially revert revision d511b506120c."
This reverts commit 08e06b2293.
2012-09-27 18:15:44 +02:00
Glenn Rice
d2e057d137 Update libav code to remove deprecation warnings. 2012-08-28 22:34:24 -05:00
Pierre Bourdon
54fc4029dd Use do { ... } while (0) for the *_LOG macros
Without this patch, such code would not compile:

if (cond)
    WARN_LOG(FOO, "msg");
else
    WARN_LOG(FOO, "msg2");
2012-08-20 13:12:49 +02:00
NeoBrainX
08a9c66037 Revert the recent zcomploc changes including the Graphic_Fixes merge.
Reason:
- It's wrong, zcomploc can't be emulated perfectly in HW backends without severely impacting performance.
- It provides virtually no advantages over the previous hack while introducing lots of code.
- There is a better alternative: If people insist on having some sort of valid zcomploc emulation, I suggest rendering each primitive separately while using a _clean_ dual-pass approach to emulate zcomploc.

This reverts commit 0efd4e5c29.
This reverts commit b4ec836aca.
This reverts commit bb4c9e2205.
This reverts commit 146b02615c.
2012-08-10 20:12:02 +02:00
NeoBrainX
6e02ad55bc Maintenance. 2012-08-07 18:57:53 +02:00
NeoBrainX
ec859009b7 Add a sanity check for viewports with zero width/height.
Fixes issue 5466.
2012-08-07 01:37:31 +02:00
skidau
0efd4e5c29 Skipped the ZCompLoc pass if the result can be determined at compile time. Brings back the speed lost by r146b02615c07. 2012-08-06 09:29:01 +10:00
Pierre Bourdon
228172d656 Fix a typo in the indexed color vertex loader
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:24:16 +02:00
Pierre Bourdon
8597660855 Replace all of the opcode data read functions by their SSSE3 equivalent, not only the first one.
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:24:08 +02:00
skidau
b4ec836aca Removed the offset if the ZCompLoc GREATER or LESS function is used. Fixes the invisible player in THPS3. 2012-06-29 18:47:49 +10:00
Pierre Bourdon
b27d8ff0d6 Add a missing Invalidate() call in ~TextureCache(). Fixes a regression from 8bed27a3d1 causing textures to load improperly when a game is run two times in the same Dolphin instance 2012-06-27 20:20:28 +02:00
NeoBrainX
7dabba5095 Fix a small bug. 2012-06-20 18:18:20 +02:00
NeoBrainX
043a85f8a6 Minor cleanup. 2012-06-20 18:18:19 +02:00
NeoBrainX
8a5abbddc4 Enable texture format overlay on the fly. 2012-06-20 18:18:18 +02:00
NeoBrainX
8bed27a3d1 Enable hires textures even when texture dumping is enabled.
Remove some deprecated code.
2012-06-20 18:18:17 +02:00
NeoBrainX
8d30ac462a Instead of invalidating texcache whenever the graphics configuration dialog gets opened, clean up textures on configuration changes. 2012-06-20 18:18:05 +02:00
NeoBrainX
227580d1a5 Remove "Disable Textures". 2012-06-11 23:35:46 +02:00
NeoBrainX
1dd6b978c1 Remove "Disable Lighting". 2012-06-11 23:30:20 +02:00
NeoBrainX
b5ad382b07 Fast mipmaps deserves to die!! 2012-06-08 00:22:57 +02:00
NeoBrainX
0d577d886a Remove some TODOs. 2012-06-02 19:23:20 +02:00
skidau
d74c50b942 OSX build fix for BPStructs. Thanks to pauldacheez for the fix. 2012-06-02 11:28:43 +10:00
skidau
bb4c9e2205 Fixed "Failed to compile pixel shader" error when Per-Pixel Lighting is enabled. Thanks to slmpika for the fix. 2012-06-02 11:25:44 +10:00
NeoBrainX
372e00632d Fix changing internal resolution via hotkeys (settings above 1.5x weren't accessible anymore before). 2012-05-29 13:11:28 +02:00
Pierre Bourdon
bfde41895f Update the viewport when the scissor offset is changed
Fixes a bug with Another Code: R that was noticed when gx-optimization was
merged.
2012-05-27 08:03:26 +02:00
Pierre Bourdon
1efabea9b4 Fix compilation errors with g++4.7 2012-05-26 08:09:50 +02:00
skidau
146b02615c Merge rodolfoosvaldobogado's zcomploc code (Graphic_Fixes branch) 2012-05-26 13:47:07 +10:00
nitsuja
99b202fd2e savestate vertexmanager (base) since it affects VertexLoader::RunVertices which affects g_pVideoData 2012-05-26 13:18:08 +10:00
nitsuja
ae242e5675 added some missing VideoBackendHardware data to savestates. I think this makes savestates more stable (fewer "GFX FIFO: Unknown Opcode" errors) in dual core mode.
also added some extra verification markers around here, to potentially give better info on future version mismatches
2012-05-26 13:18:08 +10:00
nitsuja
2be579e8ba fixed some graphics problems with loading savestates (for example, wrong colors on title screen of metroid prime 3) 2012-05-26 13:18:07 +10:00