Tony Wasserka
762572a08c
BPMemory: Fix GenMode using an incorrect number of bits for the number of color chans.
2014-04-21 22:47:08 +02:00
Tony Wasserka
16d3dbc5ea
BPMemory: Use BitField for the GenMode fields.
2014-04-21 22:34:23 +02:00
Tony Wasserka
25a011575d
Merge pull request #239 from Tilka/bitfield
...
BitFieldTest: fix warnings
2014-04-19 19:13:24 +02:00
Tony Wasserka
9203862a9e
Merge pull request #277 from magumagu/videocommon-fix-tev
...
VideoCommon: fix rounding in TEV.
2014-04-16 07:22:25 +02:00
Tony Wasserka
068f26d2aa
PixelShaderGen: Fix an issue with color combiner compare mode and simplify the affected line a bit.
...
This was a mistake of mine when translating floating point values to integer values.
Also, the max() part of that line was just completely redundant because the sign of an absolute value is always greater than or equal to zero.
Fixes issue 7178.
2014-04-15 23:41:07 +02:00
Tony Wasserka
3c83d1150e
Merge pull request #275 from magumagu/swbackend-fix-tev
...
Software backend: TEV combiner compare mode fixes
2014-04-15 23:39:11 +02:00
Tony Wasserka
774a394808
UnitTests: Add a test for BitField behavior on odd structure alignment.
2014-04-14 20:13:23 +02:00
Tony Wasserka
ccc04944b2
BitField: Fix alignment issues.
...
At least one platform (ARM with NEON instructions enabled) generates SIGBUSes if BitField objects aren't aligned properly.
2014-04-14 20:04:44 +02:00
Tony Wasserka
4f3227b4a9
Merge pull request #261 from magumagu/pixelshadergen-extra-paren
...
PixelShaderGen: delete extra parenthesis
2014-04-14 09:48:02 +02:00
Tony Wasserka
12841928df
BitField: Optimize generated assembly by forcing inlining.
2014-04-13 13:27:01 +02:00
Tony Wasserka
a516267722
Merge pull request #135 from degasus/videosw_debugutil
...
VideoSoftware: Remove const memory usage of DebugUtil
2014-04-12 13:58:46 +02:00
Tony Wasserka
4b60bdd2d0
Merge pull request #264 from magumagu/opengl-clear-adapters
...
OpenGL: Clear backend_info.Adapters on initialization
2014-04-12 10:48:10 +02:00
Tony Wasserka
b106dbc96e
Merge pull request #235 from magumagu/videobackend-unused-config
...
VideoBackend: Remove unused config variables.
2014-04-12 00:06:02 +02:00
Tony Wasserka
7563e8c6f3
Merge pull request #223 from magumagu/d3d-cache-input-layout
...
D3DBackend: Don't recompute ID3D11InputLayout for different shaders.
2014-04-11 22:40:22 +02:00
Tony Wasserka
306b9afd1e
Merge pull request #224 from magumagu/swrender-deletepixelfork
...
Software backend: Delete forked PixelEngine.
2014-04-11 20:01:23 +02:00
Tony Wasserka
cdf6172348
Merge pull request #213 from Jezze/vertexloader-cleanups
...
Vertexloader cleanups
2014-04-10 08:52:36 +02:00
Tony Wasserka
b7599f7d3a
Merge pull request #215 from delroth/gameini-dsphle
...
Do not force DSPLLE in Zelda HLE games anymore.
2014-03-27 10:52:23 +01:00
Tony Wasserka
c6070b94ce
BPMemory: Fix an enum to use u32 as its underlying type.
2014-03-26 10:02:57 +01:00
Tony Wasserka
1dead05cae
Software renderer: Properly calculate tev combiner output.
...
As pointed out by dolphin-emu/hwtests@461476112 .
2014-03-26 00:23:58 +01:00
Tony Wasserka
a8c8db8da7
Software renderer: Use color combiner configuration for alpha combiner compare mode inputs.
...
As pointed out by dolphin-emu/hwtests@f684f2498 .
2014-03-26 00:23:58 +01:00
Tony Wasserka
eb0f547a17
PixelShaderGen: Cleanups.
2014-03-26 00:23:36 +01:00
Tony Wasserka
4f82d6f7af
PixelShaderGen: Implement tev combiner lerping in a faster way which also reproduces hardware behavior perfectly.
...
The new behavior has been verified to be correct by hardware tests. This is an improvement over the old code, which was just a guess.
2014-03-26 00:17:04 +01:00
Tony Wasserka
fdad95c055
PixelShaderGen: Cleanups and fixes for tev combiners.
...
Fixes issue 4674.
2014-03-26 00:17:03 +01:00
Tony Wasserka
16105db709
BPMemory: Make use of BitField in a number of structures.
2014-03-25 23:57:58 +01:00
Tony Wasserka
8941f19cdb
BPMemory: Expose the pixel_format and zformat fields in PE_CONTROL as enumerations.
2014-03-25 23:57:58 +01:00
Tony Wasserka
77a7bab5ae
BPMemory: Use the new BitField class in two selected structures.
2014-03-25 23:57:57 +01:00
Tony Wasserka
948c0a54f1
UnitTests: Add tests for BitField.
2014-03-25 23:57:54 +01:00
Tony Wasserka
48a1790d81
Common: Add a generic class for accessing bitfields in a fast and endianness-independent way.
...
The underlying storage type of a bitfield can be any intrinsic integer type,
but also any enumeration.
Custom storage types are supported if the following things are defined on the storage type:
- casting 0 to the storage type
- bit shift operators (in both directions)
- bitwise & operator
- bitwise ~ operator
- std::make_unsigned specialization
2014-03-25 23:33:04 +01:00
Tony Wasserka
4aba433296
Merge pull request #201 from Sonicadvance1/Revert-PR179
...
Revert "Remove an unnecessary wx translation underscore macro from PHackSettings."
2014-03-24 09:50:38 +01:00
Tony Wasserka
51fdf8a9b2
Merge pull request #191 from Jezze/for-dolphin
...
Some cleanups for OGL/Vertexmanager.cpp
2014-03-18 20:47:44 +01:00
Tony Wasserka
d946e4e238
OpenGL: Implement color and z pokes.
2014-03-14 23:39:52 +01:00
Tony Wasserka
a9a8c73074
Merge pull request #68 from neobrain/tev_fixes_new
...
Change pixel processing to use integer arithmetic.
2014-03-14 22:57:40 +01:00
Tony Wasserka
0f81cbd6be
PixelShaderGen: More code alignment fixes.
2014-03-14 22:33:26 +01:00
Tony Wasserka
c1016205d3
Pixel/LightingShaderGen: Fix code alignment issues.
...
Most of these weren't even introduced by me, but hey - I'm nice and love wasting my time :p
2014-03-14 22:33:26 +01:00
Tony Wasserka
2067f88e0f
PixelShaderGen: Don't make local lookup tables "static".
2014-03-14 22:33:26 +01:00
Tony Wasserka
0ce92e0162
PixelShaderGen: Remove the "i" prefix for integer variables.
...
The prefix was just required in the development stage to reduce the risk of regressions.
2014-03-14 22:33:26 +01:00
Tony Wasserka
bdd629c598
PixelShaderGen: Use spaces for alignment where appropriate.
2014-03-14 22:33:26 +01:00
Tony Wasserka
6e65e02c9e
ConstantManager: Do not use single-element arrays.
2014-03-14 22:33:25 +01:00
Tony Wasserka
6c2971eaf6
PixelShaderGen: Write 16777215 in hex (0xFFFFFF) so that it's easier to understand.
2014-03-14 22:33:25 +01:00
Tony Wasserka
8ebb65ebf2
PixelShaderGen: Prettify generated shader source.
2014-03-14 22:33:24 +01:00
Tony Wasserka
e2e1c5c905
PixelShaderGen: Add a note about a random idea which should be checked with hardware tests.
2014-03-14 22:33:12 +01:00
Tony Wasserka
6fcbda6752
PixelShaderGen: Cleanup and clarify bump alpha combiner inputs.
2014-03-14 22:33:12 +01:00
Tony Wasserka
9a96a1d525
PixelShaderGen: Remove old, mostly useless comments.
...
A few vague lines of comments cannot replace an afternoon reading of how TEV works.
2014-03-14 22:33:12 +01:00
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
Tony Wasserka
bed442198f
PixelShaderGen: Make SampleTexture static inline.
2014-03-14 22:26:26 +01:00
Tony Wasserka
2af50f04c2
OGL: Force highp for integers.
2014-03-14 22:26:26 +01:00
Tony Wasserka
032c920247
OGL: Remove some dead code.
2014-03-14 22:26:26 +01:00
Tony Wasserka
1bdf232fed
videosoftware: More coding style fixes.
2014-03-03 19:03:15 +01:00
Tony Wasserka
c6c6d20014
videosoftware: Provide a more elaborate comment on the FifoPlayer support hack.
2014-03-01 18:52:19 +01:00
Tony Wasserka
1f5b3c928f
Merge pull request #108 from degasus/GLSLUtilShader
...
GLSL utility shader optimization
2014-02-27 22:38:37 +01:00
Tony Wasserka
66d1f16f98
Merge pull request #107 from lioncash/tiny-cleanup
...
Tiny cleanup of WII_IPC_HLE.cpp.
2014-02-26 12:46:49 +01:00
Tony Wasserka
de5bfd0bce
Merge pull request #37 from degasus/VideoCommonApiFixes
...
VideoCommon API cleanups
2014-02-16 22:08:28 +01:00
Tony Wasserka
af24ed782d
Merge pull request #14 from degasus/uboWorkaroundRemove
...
OGL: Remove non-UBO code path.
2014-02-04 14:05:55 -08:00
Tony Wasserka
3dd31fe22b
Merge pull request #11 from degasus/VertexLoaderCleanup
...
Vertex loader cleanup.
2014-01-31 06:13:26 -08:00
neobrain
0735fb7a52
Merge pull request #13 from degasus/dlCacheRemove
...
Remove Display List caching.
2014-01-31 03:42:06 -08:00
neobrain
48cde2685c
Merge pull request #6 from lioncash/readme-markdown
...
Change the plain-text Readme.txt to a markdown-using Readme.md.
2014-01-29 06:45:10 -08:00
neobrain
7b459d2463
Merge pull request #4 from lioncash/android-about-menu-info
...
Expand the Android app's about menu to include additional info about a user's device.
2014-01-28 15:19:05 -08:00
neobrain
fabdd8ab39
Merge pull request #2 from degasus/enable_buffer_storage
...
OGL: remove version check for buffer_storage on windows
2014-01-28 10:42:43 -08:00
Tony Wasserka
3b25bf2f14
Readme: Windows XP is not supported anymore.
...
Cf. issue 6785. The decision had been made weeks ago but no one thought of updating the readme.
2014-01-19 18:00:20 +01:00
Tony Wasserka
5fb8d07953
GameSettings: Deleted references to the ZTP hack.
2014-01-16 00:42:57 +01:00
Tony Wasserka
f1adc56a56
Remove vertex streaming hack.
...
NV has buffer_storage, AMD has pinned memory.
Both are better than that hack which shouldn't ever have been introduced in the first place.
2014-01-16 00:11:12 +01:00
Tony Wasserka
b49c09c36b
Remove the ZTP speedup hack. Also remove useless debugging code, and a presumably outdated workaround (which was commented out).
...
Fixes issue 6875.
2014-01-16 00:11:12 +01:00
NeoBrainX
55717ed216
D3D: Verbosify an error message.
2014-01-06 10:31:09 +00:00
Tony Wasserka
de16b7207c
D3D/OGL: Add a TODO noting that we don't support GX_CULL_ALL, most notably required for accurate zfreeze emulation.
2013-12-30 20:37:59 +01:00
Tony Wasserka
3aa0a63fe6
VertexShaderGen: Remove Sonic Unleashed hack. Doesn't seem to be required anymore.
...
Either way, even if it's still needed for anything, this is not the correct way to fix the issue.
2013-12-30 20:28:07 +01:00
NeoBrainX
3cfa04b5cf
VertexShaderManager: Remove a hardcoded projection hack.
2013-12-30 19:26:10 +00:00
Tony Wasserka
bbde075420
Software renderer: Add a zfreeze related TODO.
2013-12-30 20:18:53 +01:00
Tony Wasserka
5bc080a1b2
Revert "Add CMakeLists.txt.user to the .gitignore file. Closes issue 6873." because no comment has been given on what that newly ignored file even is. If no dev knows what's going on and there's not even a comment explaining things, then that's bad.
...
This reverts commit 5443f14fe4 .
2013-12-21 21:05:08 +01:00
Tony Wasserka
07820aaa9e
Software renderer: Add linear interpolation of fog range adjustment factors.
2013-12-16 18:42:46 +01:00
Tony Wasserka
c016d02c66
Update Readme.txt.
2013-12-11 20:35:17 +01:00
Tony Wasserka
c9d9081bf9
Use less brain damaged names for DLCache and TextureDecoder.
2013-12-11 20:35:12 +01:00