Lioncash
eb574e7bac
NativeVertexFormat: const correctness
2016-09-22 21:01:55 -04:00
Lioncash
5f1e444c28
Clipper: const correctness
2016-09-22 21:01:49 -04:00
Lioncash
d79d5d49f4
Rasterizer: const correctness
2016-09-22 20:39:28 -04:00
Markus Wick
2d0e857cb3
Merge pull request #4225 from lioncash/soft
...
SWVertexLoader: Value initialize SetupUnit instance
2016-09-22 16:05:32 +02:00
Lioncash
a8c8dd0c53
SWVertexLoader: Value initialize SetupUnit instance
2016-09-22 09:58:44 -04:00
Markus Wick
5890565575
Merge pull request #4233 from lioncash/efb
...
EfbInterface: Change out parameters on getters to return by value
2016-09-22 10:49:33 +02:00
Lioncash
33288c4569
EfbInterface: Change out parameters on getters to return by value
2016-09-21 20:56:44 -04:00
Lioncash
fc41e982e9
SWOGLWindow: Utilize the move constructor in PrintText
...
The previous code would always do a copy
2016-09-21 13:11:34 -04:00
Lioncash
99baa3268f
SWOGLWindow: const correctness for ShowImage
2016-09-21 12:54:22 -04:00
EmptyChaos
9d8f373016
VideoSoftware: Don't Init the PixelEngine twice
...
PixelEngine is initialized by InitializeShared()
2016-09-03 15:12:41 +10:00
Markus Wick
da82389347
Merge pull request #4172 from phire/software_fog_error
...
VideoSoftware: Fix unsigned overflow bug in fog
2016-09-02 09:53:44 +02:00
Scott Mansell
0e7424b359
VideoSoftware: Fix unsigned overflow bug in fog
...
Was causing fog errors on the left half of the screen.
Only appeared to affect visual studio builds, GCC did the correct
thing.
2016-09-02 10:12:44 +12:00
Preston Smith
94cbe0c12a
Comments
2016-08-31 06:40:50 -05:00
Preston Smith
e6ccd0729f
Revert postMat movement
2016-08-31 02:14:51 -05:00
Preston Smith
89b1d613cc
Remove else in software renderer
2016-08-30 18:33:27 -05:00
Preston Smith
e0a1ab9027
lint fix
2016-08-30 18:33:26 -05:00
Preston Smith
8f69de51ca
inputform ABC1's q value is defaulting to 0
...
This is causing the 0 divide case to run when source row is using tex0-7 and inputform is ABC1.
2016-08-30 18:33:25 -05:00
Preston Smith
767f56d7c8
Software renderer fix
2016-08-30 18:33:24 -05:00
Lioncash
2bf05a544d
VertexManager: Correct variable naming scheme
...
Altered to indicate regular class members
2016-08-22 20:01:00 -04:00
Lioncash
14e0b48ae4
VideoCommon: Make API_TYPE an enum class
...
Allows for forward declarations in most places, which prevents dumping
unrelated VideoCommon.h contents directly into headers.
2016-07-29 19:20:16 -04:00
degasus
d79aeaa1e9
VideoCommon: Drop GetConfigName.
...
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
degasus
5f2f462067
VideoBackends: Merge ShowConfig functions.
2016-06-26 12:34:59 +02:00
degasus
7833ff25df
VideoBackends: Merge Initialize and Shutdown functions.
2016-06-26 12:34:59 +02:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
degasus
3a452f3cc5
VideoSW: Fix XFB config.
2016-05-18 18:37:44 +02:00
degasus
fa3526962d
VideoSW: Drop Update in XFB copy.
2016-05-18 18:37:44 +02:00
Matthew Parlane
1634948b6e
Merge pull request #3742 from phire/dither
...
Implement Dithering for video software
2016-05-03 22:41:39 +12:00
degasus
6f2d8483b7
VideoSW: Fix special case.
...
I have no clue what this special case shall be, but accessing g_main_cp_state within Flush() is not allowed.
We likely still have a bad behavior, but now it only depends on the current state, not on the next one after flushing.
2016-04-30 13:14:09 +02:00
EmptyChaos
0b9a72a62d
VideoCommon: Refactor TexMode0 mipmaps disabled test into a helper function
2016-03-24 13:43:29 +11:00
Scott Mansell
51dc779b7c
Implement Dithering for video software
2016-03-23 12:29:35 +13:00
degasus
ab44d2ec5c
VideoSW: Drop SetTevReg for colors.
2016-03-06 11:05:49 +01:00
degasus
7a154181b4
VideoSW: Drop SetScissor().
...
Just access the global state directly.
2016-03-06 10:24:28 +01:00
degasus
8b0fd623e5
VideoSW: Drop SetViewOffset.
...
Just use the global state.
2016-03-06 10:22:44 +01:00
Lioncash
1df1ba55bb
VideoCommon: Convert some DataReader includes into forward declarations
...
Gets rid of some indirect inclusions in cpp files.
Also this will reduce the amount of rebuilt files if
changes occur in the DataReader header.
2016-01-31 15:19:20 -05:00
Lioncash
5ebd1e215b
Fifo: Make g_bSkipCurrentFrame a TU-local variable
...
This is only ever queried, making it a global isn't necessary.
2016-01-25 05:23:14 -05:00
Lioncash
e187c55bdd
OpcodeDecoder: Add namespace
2016-01-24 01:31:36 -05:00
Pierre Bourdon
24c228c6e9
Merge pull request #3523 from lioncash/video
...
VideoCommon: Header cleanup
2016-01-18 02:24:50 +01:00
Lioncash
d9fec92628
VideoCommon: Header cleanup
...
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
Stenzek
edebadc093
PixelShaderGen: Use bitwise AND for wrapping indirect texture coordinates
...
(x % y) is not defined in GLSL when sign(x) != sign(y).
This also has the added benefit of behaving the same as sampler wrapping modes, in regards to negative inputs.
2016-01-15 19:46:38 +10:00
degasus
5f244abf28
Fifo: Create a "Fifo" namespace.
2016-01-12 23:28:26 +01:00
degasus
0c92603fd5
Merge VideoBackendHardware into VideoBackend.
...
And rename it to VideoBackendBase because of conflicts within the backends itself.
2016-01-12 23:18:58 +01:00
Tillmann Karras
98ea1f773a
VideoSW: fix some warnings
2016-01-09 10:38:07 +01:00
degasus
efbe5bc4b6
VideoSW: Use more VideoCommon
...
Now we require lots of empty functions, but this removes by far more duplicated code.
2016-01-06 22:10:29 +01:00
Markus Wick
05fdf0398b
Merge pull request #3313 from degasus/videosw
...
VideoSW: Clear Vertex data before usage
2016-01-06 21:56:02 +01:00
Markus Wick
ca7160f714
Merge pull request #3434 from lioncash/enum
...
OnScreenDisplay: Make CallbackType an enum class
2016-01-04 13:47:22 +01:00
Lioncash
01f99a04a2
VideoBackend: Get rid of a boolean global
...
Also gets rid of global headers
2016-01-02 18:03:28 -05:00
Lioncash
edda018d54
OnScreenDisplay: Make CallbackType an enum class
2016-01-02 14:57:55 -05:00
degasus
5d63a08a50
VideoSW: Clear Vertex data before usage
...
This must have no effect, everything else is usage of uninitialized memory.
2015-12-28 20:37:25 +01:00
Markus Wick
aabcd441d9
Merge pull request #3381 from Armada651/revert-3076
...
Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
2015-12-28 10:18:32 +01:00
Scott Mansell
bed102ae89
Revert "ShaderGen: Toggle value of uninitialized color."
2015-12-27 02:28:29 +13:00
Lioncash
8371c428cd
VertexLoaderBase: Get rid of explicit delete and new
2015-12-22 20:09:54 -05:00
Jules Blok
8bda12bcfd
Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
...
This reverts commit 81414b4fa2
, reversing
changes made to b926061f64
.
Conflicts:
Source/Core/DolphinWX/Frame.cpp
Source/Core/VideoCommon/VideoConfig.cpp
Source/Core/VideoCommon/VideoConfig.h
2015-12-23 00:35:19 +01:00
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