Tony Wasserka
fc34d5a130
Merge pull request #360 from magumagu/lighting-rounding
...
Video backends: fix rounding in lighting computation.
2014-05-17 21:06:31 +02:00
magumagu
9b82d72070
Video backends: warn on usage of GL_DRAW_QUADS_2.
...
It's not normally used, so if it shows up, it could indicate a CPU emulation
bug.
2014-05-17 11:55:32 -07:00
Tony Wasserka
0fac17da33
Merge pull request #269 from magumagu/swbackend-xfregisters
...
SW backend: use VideoCommon XFRegisters struct.
2014-05-17 10:40:57 +02:00
magumagu
1357277f40
Video backends: mass-replace "xfregs" with "xfmem".
2014-05-16 18:58:07 -07:00
magumagu
8f5342c442
Video backend: merge global var xfmem into xfregs.
...
There isn't really any reason to keep them separate.
2014-05-16 18:55:31 -07:00
magumagu
818c89313e
Video backends: unify xfregs/xfmem structures.
...
Removes the duplicate swxfregs global variable/struct from the software
backend in favor of the ones from VideoCommon.
2014-05-16 18:55:30 -07:00
magumagu
8b82cea704
Video backends: fix behavior of "konst" TEV inputs.
...
Also fixes TEVCOLORARG_HALF.
Values verified to match hardwarere.
2014-05-16 12:19:35 -07:00
Tony Wasserka
b8817267f4
Merge pull request #366 from Jezze/vertex
...
OGL/VertexManager: Remove unused variable.
2014-05-16 16:18:14 +02:00
Tony Wasserka
25e8dc0aed
Merge pull request #354 from magumagu/gx-primitive-mask
...
Opcode decoding: 0xC0 isn't a valid command.
2014-05-16 15:59:59 +02:00
Jens Nyberg
f742c5a057
OGL/VertexManager: Remove unnused m_CurrentVertexFmt
2014-05-13 23:59:08 +02:00
magumagu
9e4eeb3b9b
Video backends: fix rounding in lighting computation.
...
For whatever reason, the hardware doesn't do a full divide by 255, but
instead uses an approximation with shifting, similar to the way it is done
in TEV.
2014-05-11 12:53:02 -07:00
Shawn Hoffman
17577affba
D3D: Don't pass D3D10_SHADER_WARNINGS_ARE_ERRORS to the compiler in debug builds.
...
For quite a while this has been causing integer division to generate a warning as error, blocking shader compiling. This means probably no one has even been running D3D in debug builds...
I tried disabling the warning with a #pragma, but it doesn't seem to apply when this flag is used.
2014-05-10 22:12:54 -07:00
magumagu
39d439fc48
Opcode decoding: handle missing opcodes 0x88 etc.
...
Hardware testing shows that they do the same thing as the 0x80 family of
opcodes: they draw quads.
2014-05-10 20:33:28 -07:00
magumagu
369c0c4ce2
Opcode decoding: 0xC0 isn't a valid command.
...
Fix our opcode decoders to handle this appropriately.
2014-05-08 15:49:19 -07:00
Tony Wasserka
b4e1ac5f08
Merge pull request #185 from degasus/shader-cleanup
...
Shader cleanup
2014-05-06 11:37:11 +02:00
magumagu
bca0b7b543
OpenGL: delete unused function parameter in TextureConverter.
...
(While I'm here, also mark some functions static.)
2014-05-05 10:56:36 -07:00
degasus
25b8edd2a6
ogl: fix signed vs unsigned comparison warning
2014-05-05 17:06:36 +02:00
Ryan Houdek
2d8cfb89d7
Changes posmtx vertex attribute to integer.
...
This makes it so we don't need to do some dumb casting from float to integer in our shaders.
Only tested in OpenGL, needs to be tested in D3D.
2014-04-30 19:11:06 -05:00
Ryan Houdek
99338daa8f
Fixes glVertexAttribIPointer on GLES.
...
We need to pull in function pointers for OpenGL 3.0 in order to use glAttribIPointer.
This isn't too big of an issue, and this code will be gone in the future when we change over to libepoxy.
Just need to push code upstream to libepoxy to support Android with GLES and GL first.
2014-04-30 19:11:06 -05:00
Tony Wasserka
a40ea4e26a
Merge pull request #236 from magumagu/d3d11-fix-peekz
...
D3D11: Use appropriate shader for PEEK_Z.
2014-04-27 16:09:02 +02:00
Tony Wasserka
fe65474cc4
Software renderer: Update a reference link.
2014-04-24 00:42:08 +02:00
Pierre Bourdon
d8ca861fec
Merge pull request #287 from Tilka/unused_variable
...
Fix "warning: unused variable 'skipFrames'"
2014-04-19 09:03:19 +02:00
Tillmann Karras
d523d2002b
Fix "warning: unused variable 'skipFrames'"
2014-04-19 04:59:37 +02:00
Ryan Houdek
92ec49ac9f
Change to ARM's naming convention in DriverDetails.
...
This matches how ARM handles their naming in their drivers for different models.
Really it's that way because both Mali-T6xx and Mali-T7xx fall under Midgard.
While everything else (except Mali-55) fall under Utgard.
2014-04-18 21:06:32 -05:00
magumagu
648b9865d8
D3D11 backend: fix rounding in texture encoder.
...
We need to explicitly round when converting colors from float to uint
because multiplying a normalized float by 255 might not result in a whole
number. (The exact result here may vary depending on your
drivers/hardware.)
Ideally, we shouldn't be using floating point here, but fixing that is a
much more complicated patch.
Fixes gxtest TEV tests using Intel HD 4000.
2014-04-15 23:36:05 -07:00
magumagu
685d612c8c
Software backend: don't skip red component in TEV.
2014-04-15 14:05:12 -07:00
magumagu
5e1c6aba33
Software backend: make TEV rounding match hardware.
...
Formulas stolen from gxtest. (Not sure how "==" got turned into "!=", but
I'm pretty confident the patched version is correct.)
2014-04-15 14:04:46 -07:00
Matthew Parlane
4e0b7260b6
Merge pull request #263 from Sonicadvance1/DetermineMaliVersion
...
Add Mali driver version check and support of checking for Mali-T7xx
2014-04-14 19:20:04 +12:00
magumagu
812ff4686b
OpenGL backend: remove useless header Globals.h.
...
The header has no content, so it can can just be deleted.
2014-04-12 19:25:37 -07:00
degasus
96ffbe345d
VideoSoftware: remove const memory usage of DebugUtil
2014-04-12 13:32:53 +02:00
magumagu
f18a3cc650
OpenGL config: clear backend_info.Adapters on init
...
Fixes a minor UI glitch where if you switch from Direct3D to OpenGL, the
OpenGL config page would appear to have an adapter choice available.
2014-04-12 00:17:36 -07:00
Ryan Houdek
a9fa49f34d
Support checking for the Mali-T7xx line of GPUs.
...
They are similar enough that they will share bugs with their drivers, so make them fall under the same Mali-Txxx umbrella of bug issues.
If there is ever a need in the future for having separate bugs depending on family, we can support that then.
2014-04-11 23:46:44 -05:00
Ryan Houdek
ed67cc3fb2
Add the ability to determine the Mali driver version.
...
This is the only way we can determine the video driver version with mali.
Really it's a good thing that they only push driver updates once every two years, makes it easy to determine what driver anybody is running.
2014-04-11 23:38:40 -05:00
magumagu
fd9c1fa746
VideoBackend: remove unused config vars.
...
No point to keeping around variables which are always "true".
2014-04-11 14:53:12 -07:00
magumagu
76d7c1eb9c
D3DBackend: Don't recompute ID3D11Layout.
...
CreateInputLayout requires a shader as an input, but it only cares about
the signature; we don't need to recompute it for different shaders with
the same inputs.
2014-04-11 13:13:01 -07: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
magumagu
d0f89b2b63
SWBackend: Fix code style.
2014-04-05 13:08:00 -07:00
Matthew Parlane
13119e6755
Merge pull request #240 from Sonicadvance1/GLSLES310_binding
...
Add initial support for GLSL ES 3.10.
2014-04-04 08:43:20 +13:00
Ryan Houdek
3251d78f89
Add initial support for GLSL ES 3.10.
...
GLSL ES 3.10 adds implicit support for the binding layout qualifier that we use.
Changes our GLSL version enums to bit values so we can check for both ES versions easily.
2014-04-03 00:46:09 -05:00
Ryan Houdek
ca9ee3586f
Merge pull request #227 from magumagu/swbackend-fix-shaders
...
SW backend: make shaders work on Intel/Windows.
2014-04-02 14:51:14 -05:00
magumagu
f9d2f7e88c
D3D11: Use appropriate shader for PEEK_Z.
...
Trying to use GetDepthMatrixProgram outside of
TCacheEntry::FromRenderTarget is a bad idea, so don't. Instead, use a
shader which only copies the input.
Fixes lens flare depth test in Twilight Princess. See
http://code.google.com/p/dolphin-emu/issues/detail?id=5999 .
2014-03-30 19:50:53 -07:00
Pierre Bourdon
9b03178673
Merge pull request #222 from comex/more-clang-fixes
...
More clang fixes
2014-03-30 13:24:08 +02:00
comex
92dd498fa7
Fix harmless warnings.
2014-03-30 01:40:11 -04:00
magumagu
bdcd5ba39b
SW backend: make shaders work on Intel/Windows.
...
Apparently the Intel shader compiler doesn't implement "#if" correctly...
so use "#ifdef" instead.
2014-03-29 13:10:43 -07:00
magumagu
0661efea84
Software backend: Delete forked PixelEngine.
...
Mostly just zapping a bunch of duplicated code; the only interesting thing
going on here is the changes to the performance counter implementation.
2014-03-29 12:07:20 -07:00
Pierre Bourdon
664c8d30a0
Remove all trailing whitespaces from our codebase.
2014-03-29 11:05:44 +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
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