Commit Graph

762 Commits

Author SHA1 Message Date
degasus b0108631f6 use templates for primitive restart 2013-04-08 19:39:43 +02:00
degasus 702198f39b Merge branch 'master' into primitive_restart
Conflicts:
	Source/Core/VideoCommon/Src/VideoConfig.h
	Source/Plugins/Plugin_VideoDX9/Src/main.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
2013-04-08 15:57:51 +02:00
Lioncash 195336021f Fix a few typos in the comments/logging in VideoDX9, VideoCommon, and VideoSoftware projects.
See Render.cpp, PixelShaderGen.cpp, and PixelShaderManager.cpp for most of the changes.

See VertexShaderManager.cpp for a logging typo fix.

See SWRenderer.cpp for a small typo fix for a message that gets swprintf'd in DrawDebugText.

See SWVertexLoader.cpp for a typo fix of an assert message.

Should slightly improve the readability of some of those files.
2013-04-07 17:11:29 -04:00
Rodolfo Bogado d032f3fd79 Fix for the hang after close caused by my previews perf queries commit.
Sorry for that.
fix issue 6205
2013-04-04 12:53:06 -03:00
Rodolfo Bogado 0c4713a152 ups missing file for my last commit sorry 2013-04-03 19:56:35 -03:00
Rodolfo Bogado c4bc20b4d9 Adds support for PE performance metrics in the D3D9 backend 2013-04-03 19:53:48 -03:00
Rodolfo Bogado a562c7c1f6 As requested apply the same changes made by rev 6958822f19 to the D3D9 backend.
handle v-sync changed while the emulation is running.
thanks to neobrain for pointing the missing functionality.
2013-04-01 14:23:48 -03:00
Rodolfo Bogado 5ae8bec2fd Disable dual source blend until a valid support test is found 2013-03-31 21:15:58 -03:00
Lioncash f432d6038e Fix some typos and correct some capitalizations in the log messages.
Makes the logging look more orderly and less spammy when spitting out things.
2013-03-31 19:13:30 -04:00
Rodolfo Bogado 45651098f6 Use a brute force approach to test for Dual source blend support.
Sorry for a direct commit to the main branch but i need fast feedback, and i don't want to leave problematic code in the main branch for a long time.
if this approach does not work for the drivers with problems will transform dual source blend to an option in the D3D9 backend.
I appreciate the help of the people that tested my last commit and thanks to neobrain for pointing this solution.
2013-03-31 20:02:13 -03:00
degasus ca8554e7d1 first try of primitive restart index generator
Convert all quads+triangles into trangle_strip and uses primitive restart to split them.
Speed up triangle_strip, but slows down all others primitive formats.
Only implemented in ogl.
2013-03-29 14:27:33 +01:00
Rodolfo Bogado c743e75d92 fixes for my last commit 2013-03-29 00:41:36 -03:00
Rodolfo Bogado 40d919b352 Implement dual source blending to avoid unneeded alpha pass.
this implementation does not work in windows xp (sorry no support for dual source blending there).
this should improve speed on older hardware or in newer hardware using super sampling.
disable partial fix for 4x supersampling as I'm interested in knowing the original issue with the implementation to fix it correctly.
remove the deprecation label from the plugin while I'm working on it.
2013-03-28 20:08:51 -03:00
NeoBrainX c10d9ea87a Clean up blending code a bit. 2013-03-28 23:00:19 +01:00
NeoBrainX bb3ce1f8d3 Mark the Direct3D9 backend deprecated. 2013-03-23 23:53:19 +01:00
Rachel Bryk 7c2c4662a7 Disable Vsync while holding tab to disable the frame limit, and allow toggling vsync while emulation is running in OGL.
D3D9 still doesn't support changing vsync while emulation is running.

Fixes issue 6111.
2013-03-18 20:42:18 -04:00
Ryan Houdek 363d0be9f9 Derp. No Windows to test compile on. 2013-03-15 11:29:12 -05:00
Ryan Houdek 8c1091a21f Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15 11:19:52 -05:00
degasus 2c84c32ddc decrease d3d vertex buffer size 2013-03-12 17:48:20 +01:00
degasus 03511d54d6 fix compilation
i missed to fix a merge conflict in dx9
2013-03-06 16:17:07 +01:00
degasus a1c5e90083 Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/CMakeLists.txt
	Source/Core/DolphinWX/Src/GLInterface.h
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters
	Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-03-06 15:59:29 +01:00
Jordan Woyak f3f89e1d00 Merge branch 'master' into vertex-loader-cleanup
Conflicts:
	Source/Core/Common/Src/CommonFuncs.h
	Source/Core/VideoCommon/Src/VertexLoader.cpp
2013-03-04 15:47:56 -06:00
Jordan Woyak 2b1af36900 Merge branch 'master' into windows-unicode 2013-03-02 15:33:32 -06:00
NeoBrainX 4058b4c38a Add documentation to PerfQueryBase interface.
Remove the config field for perf queries (wasn't used for the new interface anyway).
Few other cleanups.
2013-03-01 23:02:11 +01:00
Jordan Woyak dea1e2827d Open std::fstream in a unicode-safe manner. 2013-02-28 19:33:39 -06:00
NeoBrainX cbf5efe191 Some cleanups.
PE perf metrics officially declared unsupported for the D3D9 project (out of pure laziness, anyone who cares can implement them :P).
2013-03-01 01:31:57 +01:00
NeoBrainX 7682ed22c6 Merge branch 'master' into perfqueries.
Conflicts:
	Source/Core/VideoCommon/Src/VideoConfig.h
	Source/Core/VideoCommon/VideoCommon.vcxproj.filters
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoSoftware/Src/Rasterizer.cpp
	Source/Plugins/Plugin_VideoSoftware/Src/Tev.cpp
2013-03-01 01:07:34 +01:00
Jordan Woyak 6b80e6f83c Tweak Vertex/Index buffer handling a bit. 2013-02-27 01:57:02 -06:00
Ryan Houdek 692e39d1bb Merge branch 'arm-noglsl' 2013-02-27 02:22:08 +00:00
Jordan Woyak f1c990069c Yell at the user if they change window size while dumping frames, and some other avi dumping stuff. 2013-02-26 20:47:48 -05:00
Ryan Houdek 717b976875 ARM Support without GLSL 2013-02-26 13:49:00 -06:00
degasus 4883fa268f Split VideoBackend::Cleanup from Shutdown.
First is called from ogl/d3d thread, second is called from emulation thread (x11...)
2013-02-26 16:42:32 +01:00
Jordan Woyak db1be085c2 VertexManager cleanup 2013-02-22 01:41:52 -06:00
degasus 76e6085e31 consistently usage of buffer pointers 2013-02-21 12:36:29 +01:00
Jordan Woyak 6e6d8af6dd Revert "Don't load level 0 twice for 1-level textures in DX11." and fix it properly.
All backend TextureCaches now load level 0 in CreateTexture.

This reverts commit 294cb165ba.
2013-02-20 05:42:22 -06:00
degasus a629dea4dc Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Src/GLInterface/WX.cpp
	Source/Core/DolphinWX/Src/GLInterface/WX.h
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.h
	Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoDX11/Src/TextureCache.h
	Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoDX9/Src/TextureCache.h
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.h
	Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp

damn mipmap_fixes ...
2013-02-18 18:49:20 +01:00
NeoBrainX 19ab5bf50d TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs. 2013-02-18 17:14:56 +01:00
Jordan Woyak d994e56b60 Changes/cleanup to TextureCache::Load and other mipmap related code.
The significant change is what is now line 520 of TextureCacheBase.cpp:
((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1)
to
TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);

Fixes issue 5328.
Fixes issue 5461.
2013-02-15 22:56:29 -06:00
NeoBrainX 95d08db46f Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
This reverts commit 6c8a22de24.
2013-02-07 21:45:06 +01:00
NeoBrainX ed0abc9dc5 Merge branch 'mipmap_fixes'. 2013-02-07 20:40:33 +01:00
NeoBrainX 6870c1fdd5 Fix some potential issues when blending on EFB formats without alpha.
Clean up state transition tables.
2013-02-07 18:01:24 +01:00
degasus c5fa3e0f3d move RestoreAPIState and ResetAPIState into backends
it's a backend specific hack, so it should be here
should give a small speedup in dx11 efb2tex
2013-01-28 18:16:03 +01:00
degasus e0ffdda26e Merge branch 'immediate-removal' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp

immediate-removal is a new created branch seperated from master but reverted the revert of immediate-removal
so we get less conflicts by merging
2013-01-24 16:58:28 +01:00
degasus e7d5b274c0 add stage parameter for texture load, so ogl can bind to the correct sampler 2013-01-19 00:47:48 +01:00
lioncash 0ef3bd9c77 Revert "Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names)."
Turns out I was wrong in my previous commit. My bad.

This reverts commit 8743166663.
2013-01-16 15:46:11 -05:00
lioncash 8743166663 Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names).
This also gets rid of some more typecasts in some cases.
2013-01-16 09:42:51 -05:00
degasus 2f78986e2c Merge branch 'Graphic_Update' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
2013-01-14 21:36:31 +01:00
degasus ff5ac8c505 fix win compiler errors 2013-01-14 20:08:53 +01:00
NeoBrainX e204a6e015 Add some TODOs. 2013-01-08 18:56:01 +01:00
NeoBrainX be706a3977 Disable color writing when alpha test always fails. 2013-01-08 18:56:01 +01:00