Lioncash
f295182833
VideoBackends: Simplify initialization and deinitialization of resources
...
Approximately three or four times now, the issue of pointers being
in an inconsistent state been an issue in the video backend renderers
with regards to tripping up other developers.
Global (ugh) resources are put into a unique_ptr and will always have a
well-defined state of being - null or not null
2015-12-20 22:40:37 -05:00
degasus
5e9ab28ed1
VideoSW: Clear normal vertex data.
...
This data might not be initialized but used for lighting.
This matches our ShaderGen usage in VertexShaderGen.cpp:166.
2015-12-19 10:51:42 +01:00
Pierre Bourdon
de21da5fb2
Merge pull request #3315 from degasus/test
...
ShaderGen: Toggle value of uninitialized color.
2015-12-18 14:21:37 +01:00
degasus
f511e539c2
VideoSW: Use Zero for undefined colors.
2015-12-06 12:39:18 +01:00
Lioncash
7762d68c4b
Rasterizer: Mark some references as const
2015-12-06 02:51:36 -05:00
Lioncash
0608ed5130
Rasterizer: Specify internal linkage on Draw
...
It's not exposed in the header.
2015-12-06 02:51:34 -05:00
Lioncash
a0924b5e1b
Rasterizer: Convert BLOCK_SIZE into a constant variable
2015-12-06 02:51:33 -05:00
Lioncash
2793785e0c
Rasterizer: Get rid of a clamp macro
2015-12-06 02:51:28 -05:00
Lioncash
9b921c2e7c
Rasterizer: Get rid of a trivial pointer cast
2015-12-06 02:44:06 -05:00
degasus
d28c9ae354
VideoSW: Wipe output vertices
...
They shall be overwritten afterwards.
2015-12-02 21:37:12 +01:00
Markus Wick
4d3d947efc
Merge pull request #3157 from degasus/videosw3
...
VideoSW: Wipe alpha on bypass EFB
2015-10-17 12:02:55 +02:00
flacs
d85344bd58
Merge pull request #3155 from degasus/videosw
...
VideoSW: Split up OGL window handling
2015-10-17 04:56:44 +02:00
Lioncash
b5b304cff2
VertexShaderManager: Get rid of float pointer casts
2015-10-15 23:34:54 -04:00
degasus
b69bff0690
VideoSW: Use OpenGL Core context
2015-10-14 00:13:54 +02:00
degasus
61c3a0d9e4
VideoSW: Split up OGL window handling
...
This removes OSD support for video software, but it was already broken before.
This commit does not try to fix coding style issues, the rewrite of this presentation API is splitted up.
2015-10-14 00:13:54 +02:00
Tillmann Karras
9f8981c7c0
VertexLoaderUtils: remove simple wrapper functions
2015-10-11 23:40:50 +02:00
Tillmann Karras
0f1b287402
Misc. style fixes
2015-10-10 17:44:42 +02:00
degasus
d4e447555e
VideoSW: Wipe alpha on bypass EFB
...
Alpha must not be displayed.
2015-10-10 11:45:39 +02:00
shuffle2
81414b4fa2
Merge pull request #3076 from void-ghost/stereo3d_presets
...
Stereo3d presets
2015-10-03 18:10:23 -07:00
Lioncash
a10be26972
Tev: Don't savestate Zero16
...
It's an array of zeroes. There's no need.
2015-09-30 19:45:50 -04:00
Lioncash
c6678687b0
ChunkFile: Provide additional helpers for C-style arrays
...
Gets rid of magic numbers in cases where the array size is known at compile time.
This is also useful for future entries that are stack allocated arrays as these
functions prevent incorrect sizes being provided.
2015-09-30 19:45:46 -04:00
Lioncash
1d42db2439
Common: Move NonCopyable to its own header
2015-09-26 18:50:35 -04:00
ghost
07e4b4f7c4
VideoBackend: Video config filename is now exposed in VideoBackends.
...
It reduces redundancy. Needed make possible to save current video config.
2015-09-22 09:47:19 +03:00
Scott Mansell
95f3c956a8
Move GL interface code out of the OpenGL video backend.
2015-09-22 00:36:45 +12:00
degasus
be16901ae1
VideoSW: Don't raise a PanicAlert because of indices
...
It's not panic, it may just render wrong. And this case seems to happen often.
2015-09-20 13:13:47 +02:00
degasus
c976e14277
GLInterface: Fix VideoSW on linux + OSX (v2)
...
Our Video Software backend isn't OpenGL Core compatible, so we need a flag to alloc a compatible one.
v2: Fix AGL profile selection.
2015-09-19 13:22:55 +02:00
Markus Wick
a7e9a154a5
Revert "GLInterface: Fix VideoSW on linux + OSX"
2015-09-18 13:40:09 +02:00
degasus
baf09c3af6
VideoSW: Remove unused function
2015-09-17 19:44:44 +02:00
flacs
e4dfb2f6bf
Merge pull request #3054 from degasus/master
...
GLInterface: Fix VideoSW on linux + OSX
2015-09-17 19:21:16 +02:00
degasus
3b5b80bf3c
VideoSW: Drop SW bbox code
...
The hardware backends don't use this shared code any more, and it's not needed for video sw either. So this was just dead code.
2015-09-17 18:21:37 +02:00
degasus
e3e0399af2
VideoSW: Drop HwRasterizer
...
I don't remember it being working, and nobody cares about performance of videosw.
2015-09-17 18:21:37 +02:00
degasus
48279c1840
GLInterface: Fix VideoSW on linux + OSX
...
Our Video Software backend isn't OpenGL Core compatible, so we need a flag to alloc a compatible one.
2015-09-17 17:52:56 +02:00
Lioncash
a94300dd86
Rasterizer: Use multiplication instead of shifts in DrawTriangleFrontFace
...
The left-hand-side is negative at some point which is considered undefined by the standard.
2015-09-17 01:46:29 -04:00
Lioncash
b9e360df7b
MathUtil: Convert Clamp into a constexpr function
2015-09-12 01:18:28 -04:00
Lioncash
633be0387d
General: Remove unimplemented function prototypes
2015-09-05 22:01:07 -04:00
Shawn Hoffman
aa7208e270
[windows] Update projects to vs2015.
2015-09-03 04:23:01 -07:00
Markus Wick
6004ecc521
Merge pull request #2920 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-08-28 23:08:24 +02:00
Rohit Nirmal
6252d2d71a
Fix building with PCH disabled.
2015-08-28 14:13:28 -05:00
Lioncash
e787501528
Vec3: Simplify operator== code
2015-08-28 14:46:40 -04:00
Lioncash
bb27f80a65
Vec3: Remove a memset call on the this pointer
2015-08-28 14:10:07 -04:00
Tillmann Karras
c9af7def28
Fix some warnings
2015-06-23 21:11:56 +02:00
degasus
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02: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
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
Rohit Nirmal
c59bfd2b7f
Fix building with PCH disabled.
2015-05-26 22:44:51 -05:00
Ryan Houdek
69963dc4b0
Merge pull request #2274 from degasus/disable_bbox
...
Disable bbox
2015-05-25 08:46:12 -04:00