Tillmann Karras
c9af7def28
Fix some warnings
2015-06-23 21:11:56 +02:00
Jules Blok
21a70903ed
Merge branch 'stable'
2015-06-23 20:16:55 +02:00
mimimi085181
0ed6b5623f
Support partial texture updates via efb copies
2015-06-21 14:02:44 +02:00
Matthew Parlane
45aeeee699
Fix aniso filtering on d3d to not set aniso filter when using 1x
2015-06-19 20:55:32 +12:00
Jeffrey Pfau
7085fcc8d6
Fix FreeBSD build
2015-06-13 21:52:47 -07:00
Jules Blok
4042945ee5
Merge branch 'stable'
2015-06-13 01:12:12 +02:00
degasus
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00
Matthew Parlane
5cce640f48
Anisotropic Filtering option is now correct in D3D
...
Values are saved/loaded as 0,1,2,3,4 but need to be used as 1,2,4,8,16
This was correct for OGL but not D3D
2015-06-10 22:32:46 +12:00
Jules Blok
d5788f75a3
Merge pull request #2533 from degasus/syncgpu
...
Fifo: Rewrite SyncGPU
2015-06-09 09:43:26 +02:00
NanoByte011
59f273696a
VideoSW: refactor shared lighting attenuation function
...
- Refactored Light Attenuation into inline function in Software Renderer
- Corrected zero length light direction vector to resolve with normal direction (essentially becomes LIGHTDIF_NONE which was what I was after)
- Change the API of this shared function to use points for output variables (degasus)
2015-06-08 23:20:27 +02:00
NanoByte011
06d1b8c63a
VideoSW: rewrite lighting attenuation
...
- Fixes remaining lighting issues (Mario Tennis, etc)
- Apply same fixes to Software Renderer
- Corrected zero length light direction vector to resolve with normal direction (essentially becomes LIGHTDIF_NONE which was what I was after)
2015-06-08 23:20:27 +02:00
degasus
d31bed8b79
Fifo: Rewrite SyncGpu
...
The new implementation has 3 options:
SyncGpuMaxDistance
SyncGpuMinDistance
SyncGpuOverclock
The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.
The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
2015-06-08 23:16:24 +02:00
Ryan Houdek
499478bcad
Merge pull request #2550 from Armada651/d3d-pokes
...
D3D: Implement Z pokes.
2015-06-07 23:25:16 -04:00
Ryan Houdek
3f46491255
Fix OpenGL ES shader compilation.
2015-06-07 19:44:44 -05:00
Jules Blok
75fef8e26f
D3D: Implement Z pokes.
2015-06-07 15:33:30 +02:00
Jules Blok
cfc23560d9
D3D: Set the viewport to the full target size when doing EFB pokes.
2015-06-07 13:32:00 +02:00
Jules Blok
026d07e7c9
D3D: Remove obsolete comment.
2015-06-06 23:26:52 +02:00
Jules Blok
37dc8661ab
Revert "Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.""
...
This reverts commit 9ef1ca4141
.
2015-06-06 20:10:23 +02:00
Jules Blok
8cc271516d
Revert "Revert "OGL: Change the depth buffer type to GL_FLOAT.""
...
This reverts commit 05d60f4fef
.
2015-06-06 20:09:22 +02:00
Jules Blok
5650b9e970
Revert "OGL: Use floating point arithmetic to scale the depth value."
...
This reverts commit 05f42f94a0
.
2015-06-06 20:07:49 +02:00
Jules Blok
ef1dfa8bcb
VideoBackends: Allow the viewport to use the full depth range.
2015-06-06 03:37:46 +02:00
JosJuice
95a2abc1ce
Use PanicAlertT instead of PanicAlert when appropriate
...
I tried to change messages that contained instructions for users,
while avoiding messages that are so technical that most users
wouldn't understand them even if they were in the right language.
2015-06-04 13:25:06 +02:00
Markus Wick
bcd77f9a3a
Merge pull request #2482 from degasus/ogl_poke_z
...
OGL: Rewrite POKE_Z with a draw call
2015-06-03 20:35:34 +02:00
comex
a3b3f0522b
Merge pull request #1556 from comex/project-moration
...
Rudimentary version of Wii IPC determinism. Ported from my old udpnet branch.
2015-06-02 18:38:19 -04:00
degasus
84b13de538
OGL: Rewrite POKE_Z with a draw call
...
It's now also merged and it should be faster than the glClear way.
2015-06-02 23:06:41 +02:00
Dwayne Slater
ebf3048494
Fix invalid enums on OpenGLES
2015-06-02 12:13:31 -04:00
Markus Wick
aa2576a2c7
Merge pull request #2480 from phire/GamesDoWeirdShit
...
Fix invalid pointer errors in Burnout 2.
2015-05-31 23:26:55 +02:00
Scott Mansell
7df6982973
Add a dirty flag for arraybases.
...
Only loop through and call getPointers when something has actually
changed.
Worth about 2-4% speedup un SMG over the previous commit.
2015-05-30 04:39:48 +12:00
Scott Mansell
f57517f1a0
Clean up cached_arraybases. Update VideoSW to new scheme.
...
Move ownership of cached_arraybases from CPMemory to VertexLoaderManager
to better match it usage.
2015-05-30 04:09:27 +12:00
degasus
c4fc141ced
OGL: Always use sampler objects.
...
We are used to use the texture parameter for all util draw calls,
but AMD seems to have a bug where they use the sampler parameter
of stage 0 if no sampler is bound to the used stage.
So as workaround (and a bit as nicer code), we now use sampler
objects everywhere.
2015-05-29 14:03:03 +02:00
Lioncash
ac26f8e79f
Pass strings by const reference where possible
2015-05-28 20:54:55 -04:00
comex
a225426510
Rewrite FileSearch and improve ScanDirectoryTree.
...
- FileSearch is now just one function, and it converts the original glob
into a regex on all platforms rather than relying on native Windows
pattern matching on there and a complete hack elsewhere. It now
supports recursion out of the box rather than manually expanding
into a full list of directories in multiple call sites.
- This adds a GCC >= 4.9 dependency due to older versions having
outright broken <regex>. MSVC is fine with it.
- ScanDirectoryTree returns the parent entry rather than filling parts
of it in via reference. The count is now stored in the entry like it
was for subdirectories.
- .glsl file search is now done with DoFileSearch.
- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
results after replacements for better determinism.
2015-05-28 19:14:42 -04:00
Tillmann Karras
285ac34bf3
OGL: use GL_TEXTURE* constants
2015-05-27 15:05:49 +02:00
Rohit Nirmal
c59bfd2b7f
Fix building with PCH disabled.
2015-05-26 22:44:51 -05:00
Jules Blok
ca7801da44
D3D: Invert initial depth buffer clear.
2015-05-26 15:31:36 +02:00
galop1n
2975e53091
D3D: Depth range inversion.
...
Credits go to Galop1n for designing this technique and to BhaaLseN for cleaning up the commit.
2015-05-26 15:31:31 +02:00
Ryan Houdek
dad5d8e13d
Merge pull request #2357 from degasus/ogl_efb_poke_merge
...
ogl: efb poke merge
2015-05-25 23:26:39 -04:00
Ryan Houdek
69963dc4b0
Merge pull request #2274 from degasus/disable_bbox
...
Disable bbox
2015-05-25 08:46:12 -04:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Tillmann Karras
268f52e054
Add missing license headers
2015-05-25 13:11:47 +02:00
degasus
6b2a1e57e2
BBox: remove now unreachable SW bbox implementation
2015-05-25 09:33:34 +02:00
Jules Blok
e31982474c
OGL: Depth range inversion.
2015-05-22 23:52:22 +02:00
Jules Blok
88cc91030e
VertexShaderGen: Use correct depth output when glClipControl is supported.
2015-05-22 23:52:21 +02:00
Jules Blok
522e721830
OGL: Add glClipControl support.
2015-05-22 23:52:20 +02:00
Markus Wick
ad9dae30a8
Merge pull request #2410 from lioncash/swatomic
...
Software: Convert most volatile variables to atomics
2015-05-22 14:11:16 +02:00
Jules Blok
05f42f94a0
OGL: Use floating point arithmetic to scale the depth value.
2015-05-20 14:22:30 +02:00
Jules Blok
05d60f4fef
Revert "OGL: Change the depth buffer type to GL_FLOAT."
...
This reverts commit 4b2e04b862
.
2015-05-20 14:22:29 +02:00
Jules Blok
9ef1ca4141
Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format."
...
This reverts commit be810eb750
.
2015-05-20 14:22:28 +02:00
degasus
d91d935057
OGL: reimplement poke-color
2015-05-20 11:05:31 +02:00
Markus Wick
695a72c24c
Merge pull request #2414 from Armada651/depth-clamp
...
VideoBackends: Clamp depth to uint24 range.
2015-05-19 14:44:34 +02:00
Jules Blok
ef78941042
VideoBackends: Clamp depth to uint24 range.
2015-05-18 23:22:28 +02:00
Jules Blok
f7151a2a5c
Revert "D3D: Use a 32-bit floating point depth buffer."
...
This reverts commit a224c604a3
.
2015-05-16 22:16:31 +02:00
Lioncash
26a3eaf959
Software: Convert most volatile variables to atomics
2015-05-14 12:33:19 -04:00
Lioncash
a94e4dd07f
OGL: Join declarations and assignments in Render
2015-05-08 09:29:36 -04:00
Lioncash
eeb0f0b7c4
OGL: Get rid of some explicit deletes in Render
2015-05-08 09:28:29 -04:00
Jules Blok
a224c604a3
D3D: Use a 32-bit floating point depth buffer.
2015-05-08 14:32:22 +02:00
Jules Blok
84a5f4abb0
VideoBackends: Use the new divisor when clearing the depth buffer.
2015-05-08 14:32:22 +02:00
Jules Blok
1a409a2e16
VideoBackends: Clamp Z peek values.
2015-05-08 14:32:21 +02:00
Jules Blok
0f2c72f0f8
VideoCommon: Clamp integer conversions.
2015-05-08 14:32:16 +02:00
Jules Blok
b0770e2a0c
VideoBackends: Floor depth values in depth copy shaders.
2015-05-08 14:29:30 +02:00
Jules Blok
be810eb750
OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.
2015-05-08 14:29:30 +02:00
Jules Blok
4b2e04b862
OGL: Change the depth buffer type to GL_FLOAT.
2015-05-08 14:29:29 +02:00
Jules Blok
c4f85a38e6
VideoBackends: Use proper floating point depth precision.
2015-05-08 14:29:29 +02:00
shuffle2
268b8fd26f
Merge pull request #2026 from mrgreywater/d3d-debugbreak
...
D3D: More debug information and break on error
2015-05-07 19:29:21 -07:00
Jules Blok
24594a7888
PixelShaderCache: Fix MSAA depth copy shader.
2015-05-06 12:43:35 +02:00
Jules Blok
7a1252f7e5
VideoBackends: Implement depth copy shaders with integer math.
2015-05-05 00:40:25 +02:00
Markus Wick
e0cfd934d2
Merge pull request #2364 from kayru/d3d_texture_bsf
...
D3D: StateManager::Apply no longer iterates through every texture and sampler slot
2015-05-03 21:39:33 +02:00
Yuriy O'Donnell
df5750edfd
D3D: Replaced explicit _BitScanForward with LeastSignificantSetBit
2015-05-03 21:14:29 +02:00
Jules Blok
54f4443971
VideoCommon: Implement EFB dumping for both backends.
2015-05-02 13:23:33 +02:00
Yuriy O'Donnell
2b664f5d89
D3D: StateManager::Apply no longer iterates through every texture and sampler slot
...
Now using bit scan through dirty slot masks.
2015-04-29 20:08:00 +02:00
Lioncash
9eb608c9da
Merge pull request #2301 from lioncash/const
...
General: Apply the const specifier where applicable
2015-04-16 23:13:39 -04:00
Lioncash
63393570fb
PerfQueryBase: Move common implementation variables into base class
2015-04-15 19:22:16 -04:00
Lioncash
b0613bb1c8
General: Apply the const specifier where applicable
2015-04-15 02:04:03 -04:00
Lioncash
bdde6b2a7c
D3D: Remove dependency on wxWidgets
...
This hasn't been necessary for ages
2015-04-14 22:27:03 -04:00
degasus
b020ae1c5d
Fifo: rewrite sync on idle skipping hack
...
Now it's done without a busy loop
2015-04-06 12:35:35 +02:00
skidau
39c41f5c70
Merge pull request #2192 from Tilka/sse2
...
VertexLoaderX64: support SSE2 as a fallback
2015-03-21 12:58:24 +11:00
skidau
94e435afbc
Merge pull request #2201 from magumagu/ogl-clamp-origin
...
OpenGL: use ClampUL instead of ClampLL where appropriate.
2015-03-21 12:45:46 +11:00
Tillmann Karras
5a51bc10e5
SWVertexLoader: fix truncated components
2015-03-18 12:09:06 +01:00
magumagu
629fb8fb49
Merge pull request #2222 from Tilka/fix_warnings
...
Fix warnings
2015-03-16 17:41:46 -07:00
Tillmann Karras
f82afd1b2f
Fix warnings
2015-03-16 19:02:30 +01:00
Shawn Hoffman
ad64336137
quiet some warnings which appear on vs2015.
...
quieted warnings include shadowed variable names and integer extensions.
2015-03-15 19:28:47 -07:00
magumagu
269be03908
OpenGL: use ClampUL instead of ClampLL where appropriate.
2015-03-12 13:24:52 -07:00
degasus
f3f2ed1536
GLX: fix memory leak
2015-03-08 17:42:37 +01:00
Ryan Houdek
b0f61201c3
Merge pull request #2142 from Sonicadvance1/fix_gles31_non_nvidia
...
Fix OpenGL ES 3.1 on non-Nvidia devices.
2015-03-08 09:03:05 -05:00
Ryan Houdek
3c5e99c777
Fix OpenGL ES 3.1 on non-Nvidia devices.
...
We are declaring we require ARB_shader_image_load_store in the shader, this isn't an extension on GLES because it is part of the GLSL ES 3.1 spec.
If we are running as GLES then just not put it in the shaders.
2015-03-08 08:49:53 -05:00
Ryan Houdek
70977fd6b1
Merge pull request #2092 from Sonicadvance1/gles_occlusion_queries
...
Implement full occlusion queries for the Nexus 9.
2015-03-08 08:44:15 -05:00
Markus Wick
cc5a2f3411
Merge pull request #2164 from Armada651/cache-fix
...
ProgramShaderCache: Do plenty of error checking before writing shaders to the disk.
2015-03-02 17:24:00 +01:00
Jules Blok
728081dad2
ProgramShaderCache: Do plenty of error checking before writing shaders to the disk.
2015-03-02 17:03:49 +01:00
degasus
35373c5185
TextureCache: load all mipmap levels from custom textures
...
This drops the "feature" to load level 0 from the custom texture
and all other levels from the native one if the size matches.
But in my opinion, when a custom texture only provide one level,
no more should be used at all.
2015-03-02 00:09:09 +01:00
Tillmann Karras
f75187db3e
Add missing newlines at EOF
2015-03-01 17:17:09 +01:00
Lioncash
7408de7e79
Merge pull request #2058 from Stevoisiak/Codemaid-Cleanup-Take2
...
Basic Formatting/Whitespace Cleanup
2015-02-25 18:07:56 -05:00
Stevoisiak
93b16a4a2d
Formatting/Whitespace Cleanup
...
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
Pierre Bourdon
f06b1106db
Merge pull request #2089 from degasus/remove_disable_efb_copy
...
Remove disable efb copy
2015-02-24 23:31:05 +01:00
degasus
967eaad8df
VideoCommon: rename efb2tex and efb2ram
2015-02-24 23:10:13 +01:00
degasus
ac7102918d
OGL: support palette texture decoding
2015-02-24 22:51:55 +01:00
Tillmann Karras
f298f00e1b
Clean up the intrinsics #ifdef mess
2015-02-24 01:02:36 +01:00
Ryan Houdek
e9ac4d53a6
Implement full occlusion queries for the Nexus 9.
...
GLES3 spec is worthless and only returns a boolean result for occlusion queries. This is fine for simple cellular games but we need more than a
boolean result.
Thankfully Nvidia exposes GL_NV_occlusion_queries under a OpenGL ES extension, which allows us to get full samples rendered.
The only device this change affects is the Nexus 9, since it is an Nvidia K1 crippled to only support OpenGL ES.
No other OpenGL ES device that I know of supports this extension.
2015-02-21 17:24:36 -06:00
Ryan Houdek
a5b4ac6faa
[GLExtensions] Add support for NV_occlusion_query_samples.
2015-02-21 17:24:32 -06:00
Jules Blok
c180174e4a
D3D: Use the correct format when resolving the EFB depth texture.
2015-02-21 11:50:19 +01:00