Commit Graph

42 Commits

Author SHA1 Message Date
Tony Wasserka 8b8bb04fd3 PixelShaderGen: Use bit shifts instead of multiplications as a small optimization. 2014-03-14 22:33:12 +01:00
Tony Wasserka 036a8c6951 PixelShaderGen: Clean up tev compare functionality. 2014-03-14 22:33:10 +01:00
Tony Wasserka fa7173d099 PixelShaderGen: Store tex scale as an integer. 2014-03-14 22:32:30 +01:00
Tony Wasserka 16109fb453 PixelShaderGen: Treat UV coordinates as actual integers. 2014-03-14 22:32:29 +01:00
Tony Wasserka 50526ae50a PixelShaderGen: Remove some dead code. 2014-03-14 22:32:18 +01:00
Tony Wasserka 065919f599 PixelShaderGen: Perform some of the fog calculations with integers. 2014-03-14 22:31:32 +01:00
Tony Wasserka 605b687af8 PixelShaderGen: Use integer math for z textures. 2014-03-14 22:31:31 +01:00
Tony Wasserka 3a6389992e PixelShaderGen: Treat UV coordinates like S17.7 integers (they're still stored as float, though). 2014-03-14 22:31:30 +01:00
Tony Wasserka 3e6efdb53e LightingShaderGen: Perform more lighting calculations with integers. 2014-03-14 22:31:19 +01:00
Tony Wasserka 387b9bf3c2 LightingShaderGen: Perform some lighting calculations with integers. 2014-03-14 22:31:19 +01:00
Tony Wasserka 78623871f9 ShaderGen: Store material uniforms as integers. 2014-03-14 22:31:19 +01:00
Tony Wasserka 4bf57565e8 ShaderGen: Store light color uniforms as integers. 2014-03-14 22:31:18 +01:00
Tony Wasserka 68e91f0d55 PixelShader: Store fog color as an integer. 2014-03-14 22:31:18 +01:00
Tony Wasserka 0238a56816 PixelShaderGen: Change indirect texture matrix uniforms to use integers. 2014-03-14 22:31:18 +01:00
Tony Wasserka c13a5c38e9 PixelShaderGen: Change the "alpha" uniform to use integers. 2014-03-14 22:31:18 +01:00
Tony Wasserka ec60acac3a PixelShaderGen: Change the "colors" and "kcolors" uniforms to be integers. 2014-03-14 22:31:18 +01:00
Tony Wasserka df94e62350 PixelShaderGen: Process fog calculations with integer math. 2014-03-14 22:31:18 +01:00
Tony Wasserka 21eb482a6e PixelShaderGen: Write constants in decimal instead of hexadecimal where appropriate. 2014-03-14 22:31:11 +01:00
Tony Wasserka cff952c397 PixelShaderGen: Use integer math for indirect tev stage texcoord calculation. 2014-03-14 22:30:27 +01:00
Tony Wasserka e7a42d884f PixelShaderGen: prev should be initialized to the proper value; tev output needs to be clamped between -1024 and 1023. 2014-03-14 22:30:16 +01:00
Tony Wasserka cb1514e082 PixelShaderGen: Remove superfluous registerstate stuff. Also, made alphabump an integer. 2014-03-14 22:30:15 +01:00
Tony Wasserka a11ae69cb0 PixelShaderGen: Use integer math for TEV combiners. 2014-03-14 22:28:32 +01:00
Tony Wasserka aaa8e74a68 PixelShaderGen: Use integer math for tev outputs. 2014-03-14 22:28:14 +01:00
Tony Wasserka 654442feb7 PixelShaderGen: Use integer math for tev konst value. 2014-03-14 22:28:12 +01:00
Tony Wasserka e69ee6ae0a PixelShaderGen: Remove remaining floating point bits for texture color. 2014-03-14 22:26:50 +01:00
Tony Wasserka ac1c77c392 PixelShaderGen: Use integer math for rasterizer color. 2014-03-14 22:26:50 +01:00
Tony Wasserka 3ea97f7730 PixelShaderGen: Use integer math for indirect texture coords. 2014-03-14 22:26:50 +01:00
Tony Wasserka 0e711bf520 PixelShaderGen: Use integer math for sampling textures. 2014-03-14 22:26:50 +01:00
Tony Wasserka 1b3b12caa0 PixelShaderGen: Fix an issue where small negative z coordinates would underflow when they shouldn't. 2014-03-14 22:26:50 +01:00
Tony Wasserka fa77e1d2b6 PixelShaderGen: Use integer math for alpha testing. 2014-03-14 22:26:48 +01:00
Ryan Houdek 22c989de9a Provide our own dot functions in GLSL since GLSL doesn't provide integer versions of this function, even though AMD and Nvidia provide their own. 2014-03-14 22:26:27 +01:00
Tony Wasserka bed442198f PixelShaderGen: Make SampleTexture static inline. 2014-03-14 22:26:26 +01:00
Matthew Parlane 31cfc73a09 Fixes spacing for "for", "while", "switch" and "if"
Also moved && and || to ends of lines instead of start.
Fixed misc vertical alignments and some { needed newlining.
2014-03-11 00:35:07 +13:00
Tillmann Karras d802d39281 clang-modernize -use-nullptr
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
degasus aaaa5af0b2 remove (ATTR|VARY)(IN|OUT) macros 2014-02-26 11:37:29 +01:00
Pierre Bourdon ffe588cc24 Fix more header sorting issues in VideoCommon/ (now check-includes clean). 2014-02-20 01:01:10 +01:00
Lioncash 2afe215271 Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
Lioncash 6c4ee1753a Fix some vertical alignments
ie. uses spaces for alignment.
2014-02-16 20:12:05 -05:00
degasus 6089e4470a OGL: remove ubo workaround
This was only keeped for some broken mesa versions. Meanwhile most used versions should be fixed for almost a year.
2014-02-01 22:33:45 +01:00
Ryan Houdek b55a4bb087 Slight optimization in the pixel shader. We are using pow(2.0, X) in place of exp2(X). This can be faster in places that don't optimize a pow to a exp2 in this case.
Notice this from here: http://cgit.freedesktop.org/mesa/mesa/commit/?id=847bc36a38d42967ad6bf0492fe90a4892d9d799
Intel Haswell GPU is 24 cycles for POW and 14 cycles for EXP2.
Maybe other GPUs don't optimize this either. Just be safe.
2014-01-08 16:40:31 -06:00
degasus c42f274e22 OpenGL: use shader 420pack if available to staticly bind ubo location
Bindung locations after compiling a shader stalls the driver. So if we manage not to bind anything after compilation, the lag would be reduced much.
2014-01-05 10:38:45 +01:00
Jasper St. Pierre 34692ab826 Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00