Markus Wick
98292682fe
Merge pull request #1709 from unknownbrackets/attributeless-fix
...
OGL: Attempt a larger buffer to workaround 7946
2014-12-17 14:20:54 +01:00
Markus Wick
d3c4a8eda3
Merge pull request #1707 from magumagu/blend-and-logic-op
...
D3D+OGL: choose blendenable over logicopenable.
2014-12-16 12:27:04 +01:00
Markus Wick
cb3a964730
Merge pull request #1695 from Armada651/stateman-setters
...
D3DState: Always update the m_pending members in the setters.
2014-12-14 03:01:34 +01:00
degasus
1a5d791964
OGL: fix efb pokes
2014-12-12 16:11:17 +01:00
Markus Wick
4c139ca7cc
Merge pull request #1609 from degasus/datareader
...
VideoCommon: Datareader
2014-12-10 06:53:11 +01:00
degasus
bf65c49609
PixelShaderGen: merge OGL+D3D bbox
2014-12-09 19:32:24 +01:00
degasus
e88e63adb3
UnitTests: fix VertexLoaderTest
2014-12-09 18:56:27 +01:00
degasus
3fc7e55cc4
VideoCommon: clean up VertexLoader
2014-12-09 18:56:27 +01:00
degasus
02cdb41d3d
VideoCommon: Rename s_pCurBufferPointer
2014-12-09 18:56:27 +01:00
degasus
50de4238bb
VertexLoader: Move the old Datareader function into VertexLoader
2014-12-09 18:56:27 +01:00
degasus
21970c4a2a
VideoCommon: cleanup OpcodeDecoder
2014-12-09 18:56:27 +01:00
degasus
4b22885ed8
VideoCommon: fifo cleanups
2014-12-09 18:56:27 +01:00
degasus
27f984c02e
VideoCommon: rewrite DataReader
2014-12-09 18:56:27 +01:00
Markus Wick
ff4526b4a9
Merge pull request #1657 from Tinob/master
...
Add HW bounding Box support to d3d backend
2014-12-08 09:05:22 +01:00
Markus Wick
d83f0308af
Merge pull request #1664 from Sonicadvance1/GLES3_stereo
...
Enables stereo rendering with OpenGL ES 3.1 + AEP.
2014-12-07 12:53:14 +01:00
Markus Wick
f00ad2e65c
Merge pull request #1656 from kayru/orthographic_projection_epsilon
...
Moved projection epsilon back to g_fProjectionMatrix[15]
2014-12-05 17:34:50 +01:00
Markus Wick
02dae1d1ba
VideoCommon: fix include order
2014-12-04 15:15:16 +01:00
degasus
94d9d138d9
Common: Add a built-in profiler
2014-12-03 00:50:41 +01:00
degasus
c63a38088a
OGL: require GL version >= 3.0
...
This "fix" a crash because of glVertexAttribI only available on gl3+ contexts.
2014-11-26 21:33:47 +01:00
degasus
ed9f258b27
GeometryShader: Don't read from output variables
2014-11-23 14:30:12 +01:00
degasus
6670cacddc
use GL_TEXTURE_2D_ARRAY for most of our textures
2014-11-23 14:22:22 +01:00
degasus
6f3e20ac42
OGL: disable bbox writes if not supported
2014-11-22 15:17:57 +01:00
degasus
36fe8ccf46
OGL: also show driver warnings on release builds
2014-11-22 15:07:52 +01:00
degasus
ff942d44b5
OGL: fix buffer destruction
...
This buffer will be unbound in the StreamBuffer class itself, so no need to unbind them before.
2014-11-18 23:13:06 +01:00
degasus
c211450b99
OGL: implement bounding box support with ssbo
...
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-11-17 21:20:32 +01:00
degasus
90613a1bda
OpcodeDecoder: Skip recursiv display lists
2014-11-15 16:24:06 +01:00
degasus
cd9f0c34e4
VideoCommon: Remove GetPointer in fifo code
2014-11-01 12:24:43 +01:00
degasus
ce9ef2c438
OGL: fix interpolation of PP shaders
2014-10-27 21:15:32 +01:00
degasus
7292ea6a04
OGL: force enable postprocessing
2014-10-23 00:21:52 +02:00
degasus
8f403696ea
DriverDetails: mark intel buffer_storage bug as fixed
2014-10-16 22:51:32 +02:00
Markus Wick
1227bd2ba6
PixelShaderGen: replace multiplication with shift
...
iirc both nvidia and i965 doesn't optimize this
2014-10-14 12:34:37 +02:00
degasus
8b84ddce9a
VideoCommon: rewrite frame skipping code
2014-09-04 18:07:39 +02:00
degasus
ef6f6a7fa9
VideoCommon: remove XFReg copy optimization
...
This code is just ugly and I doubt there is a way that copying twice is faster.
2014-09-04 17:56:17 +02:00
degasus
8b0ad5daec
glx: fix shutdown hang
2014-08-27 18:16:56 +02:00
degasus
a64b0bf499
VertexLoader: cache NativeVertexFormat
...
This fix a performance regression of PR #672 .
2014-08-16 12:58:52 +02:00
degasus
5205d7baa6
ogl: fix rasterfont
2014-07-31 19:03:18 +02:00
degasus
01fd96ab31
PixelShaderGen: fix indentation
2014-07-16 17:24:43 +02:00
degasus
7e79806efc
remove unused globals
...
Also change globals into statics which are only used in one file
2014-07-11 16:10:20 +02:00
degasus
81ed17be53
avoid the extern keyword in .cpp files
2014-07-11 16:10:20 +02:00
degasus
6d3f249dcc
mark all local variables as static
2014-07-11 16:10:20 +02:00
degasus
9560ecdbec
CMake: warn on missing variable declarations
2014-07-11 16:07:23 +02:00
degasus
22e1aa5bb4
mark all local functions as static
2014-07-11 16:07:23 +02:00
degasus
3ff1c538ee
CMake: warn on missing declarations
2014-07-11 16:07:22 +02:00
degasus
e72b01caa1
ConfigManager: fix alignment
2014-07-06 11:05:16 +02:00
degasus
bb2fc8ecbb
VideoCommon: Cache native vertex formats
...
We are used to have a 1:1 mapping of GX vertex formats and the native (OGL + D3D) ones, but there are by far more GX ones.
This new cache maps them directly so that we don't flush on GX vertex format changes as long as the native one doesn't change.
The idea is stolen from galop1n.
2014-07-04 14:39:27 +02:00
degasus
02ac5e95c8
VideoCommon: normalize lighting direction.
...
It seems that the lighting direction must be normalized. This fixes lots of lighting issues mostly shown in the d3d backend.
2014-07-03 21:08:19 +02:00
degasus
7db5a4b22d
Statistics: Reformat stats string
2014-06-27 09:36:50 +02:00
degasus
f1ddd3c66a
VideoCommon: remove unused stats
2014-06-27 09:35:26 +02:00
degasus
924ad1ee9f
LightingShader: hard code const variable
2014-06-19 16:46:53 +02:00
degasus
e456a5e64f
PixelShader: remove the duplicated ppl constants
2014-06-19 16:33:33 +02:00
degasus
d93f2973f7
PixelShader: use the vertex const buffer for ppl
2014-06-19 16:33:33 +02:00
degasus
027baad73b
VideoCommon: use the Light struct in XF memory
2014-06-19 16:33:29 +02:00
degasus
9566dcf0da
OGL: speed up the EFB cache
...
gcc doesn't optimize this loops with -O2, so using memset now.
A flag to skip the clear funktion was added as the cache is already cleared most of the time.
2014-06-05 14:53:09 +02:00
degasus
d9eafd94a2
OGL-StreamBuffer: replace size_t with u32
...
Yes, this matters.
We align our buffer all the the time which needs a division. u64 divisions are just so slow.
2014-06-05 13:33:50 +02:00
degasus
606e46ba8d
OGL-StreamBuffer: move alignment to caller
...
Only the caller know if alignment is needed at all, so it can be skipped now.
2014-06-05 13:32:13 +02:00
degasus
02a4e3d70f
OGL-StreamBuffer: make the SLOT calculation much easier
...
The size of the buffer is now power of 2, so we can use a shift instead of a division.
This was at about 2% of the global CPU usage.
2014-06-05 13:32:13 +02:00
degasus
d81d2e8915
OGL-StreamBuffer: allocate fences in StreamBuffer directly
2014-06-05 13:32:13 +02:00
degasus
0688cfdaef
OGL-StreamBuffer: don't use coherent mapping
...
Coherent mapping seems to be much slower on fermi gpus.
2014-06-05 12:18:44 +02:00
degasus
541bfd071e
Jit64: Don't flush the regcache on bcx
2014-06-02 18:12:54 +02:00
degasus
0cd9eea99e
RegCache: make state clear optional on flushes
2014-06-02 18:12:53 +02:00
degasus
38c3812a60
RegCache: merge fpr+gpr BindToRegister
2014-06-02 18:12:53 +02:00
degasus
9e9b71fa87
RegCache: merge fpr+gpr StoreFromRegister
2014-06-02 18:12:53 +02:00
degasus
fd9bfddde7
RegCache64: devirtualize RegCache::Start
2014-06-02 18:12:53 +02:00
degasus
8693e0abaa
RegCache64: Use std::array
2014-06-02 18:11:26 +02:00
degasus
6089812482
RegCache64: move x?locks into register structs
2014-06-02 13:02:52 +02:00
degasus
c800918fd8
RegCache64: remove unused functions
2014-06-02 09:53:44 +02:00
degasus
4545fa589d
Jit64: remove unused FlushMode enum
2014-06-02 08:24:25 +02:00
degasus
c1b6fcc00b
ogl: pixel format shader without resolving
...
v2: Don't use std::to_string as this function is broken on android.
2014-05-19 09:29:40 +02:00
degasus
e150d307a6
ogl: use ARB_texture_multisample for msaa
2014-05-19 09:21:44 +02:00
degasus
fab78c2dff
ogl: add ARB_texture_multisample
2014-05-19 09:21:44 +02:00
degasus
775858b6bc
ogl: drop NV_framebuffer_multisample_coverage
2014-05-19 09:21:44 +02:00
degasus
afea848e3b
ogl: drop csaa support
2014-05-19 09:21:44 +02:00
degasus
7bb44199fd
remove unused and unexported function
2014-05-16 14:33:00 +02:00
degasus
813e30ec2a
ShaderGen: make uv readonly
2014-05-05 17:06:38 +02:00
degasus
6109958e68
ShaderGen: OGL: don't make a copy of "Normal"
2014-05-05 17:06:37 +02:00
degasus
0e0da8c8fd
ShaderGen: make clipPos readonly
2014-05-05 17:06:37 +02:00
degasus
c80717ac2e
PixelShaderGen: extract iround
2014-05-05 17:06:37 +02:00
degasus
2bc2b73e03
PixelShaderGen: drop fmod as it isn't used any more
2014-05-05 17:06:37 +02:00
degasus
c82991df5b
ShaderGen: inline constant shaders
2014-05-05 17:06:37 +02:00
degasus
b0878c54b2
ShaderGen: use cbuffers for D3D
2014-05-05 17:06:37 +02:00
degasus
fe9fcfdd07
ShaderGen: merge early-z blocks of ogl+d3d
2014-05-05 17:06:37 +02:00
degasus
3e14bf511f
ShaderGen/D3D: inline centroid
2014-05-05 17:06:36 +02:00
degasus
25b8edd2a6
ogl: fix signed vs unsigned comparison warning
2014-05-05 17:06:36 +02:00
degasus
f254fdfd96
drop Host_GetKeyState
...
This function isn't used any more and it shouldn't be used at all as it generates a sync request to the x11 server. So it has to wait for a complete round trip time.
2014-04-30 12:51:13 +02:00
degasus
30586f4d29
Add set/get functions for IsFramelimiterTempDisabled
2014-04-30 12:51:13 +02:00
degasus
8483811b39
Add a hotkey for disabling the framelimit.
...
Atm this is hardcoded to '\t'.
2014-04-30 12:50:53 +02:00
degasus
ee76a51d1f
Truncate the path on logging
...
Cmake compiles we an absolute path, so the macro __FILE__ also has the absolute file in it.
It seems that gcc doesn't provide macros for the basename, so we have to truncate them in c directly:
https://stackoverflow.com/questions/8487986/file-macro-shows-full-path
2014-04-14 10:39:52 +02:00
degasus
96ffbe345d
VideoSoftware: remove const memory usage of DebugUtil
2014-04-12 13:32:53 +02:00
degasus
f628695d31
comment fixes
2014-02-26 12:48:52 +01:00
degasus
aaaa5af0b2
remove (ATTR|VARY)(IN|OUT) macros
2014-02-26 11:37:29 +01:00
degasus
1d0b6a1156
Merge duplicate parts of sampler into header
2014-02-26 11:37:29 +01:00
degasus
11efa88157
calculate constant values on shader compilation
2014-02-26 11:37:29 +01:00
degasus
8a4aa8c1f5
Rewrite texture tiling implementation
...
inline halfxb
So we know which is the first pixel by masking.
inline xl
inline xb a bit
inline yl
inline uv1.x shift
remove likely wrong guessed ternary operator
add pixel layout comment
inline xel
optimize the shifts a bit
inline xb
optimize shifts in a second step
extract xb
rename all variables
calculate cache line by position.x
Revert 5115b459f40d53044cd7a858f52e6e876e1211b4 "optimize the shifts a bit"
It seems I was wrong, the other way is the more natural.
use x_virtual_position instead of uv1.x for x_offset_in_block
This looks more natural and the offset should be masked anyway.
substitude factor with cache_lines
move 32bit logic in a conditional block
2014-02-26 11:37:29 +01:00
degasus
bd3beeb184
TextureConverter: Use Log2() and shifts instead of multiplications/divisions
2014-02-26 11:37:29 +01:00
degasus
94da4e1aa2
MathUtil: Change Log2 return value to int
...
Log2(u64) can't be bigger than 63, so there is no need in forcing a 64 bit value.
So just using a common int seems more natural.
2014-02-26 11:37:28 +01:00
degasus
f99c8a0b70
merge common parts of encoding shaders
2014-02-26 11:37:28 +01:00
degasus
7f539b6033
ogl: optimize real xfb a bit
...
Both nvidia + mesa seems not to optimize x / (2**n) to x >> n, so we do it ourself.
2014-02-26 11:37:28 +01:00
degasus
8af3f751db
Fetch swapInterval function pointer after binding a context
...
This fixes vsync on windows
2014-02-24 12:45:02 +01:00
degasus
e5eff6bc1a
Remove slowdown warning
...
Now it's shown as "debug" which is disabled by default.
2014-02-16 12:57:17 +01:00
degasus
647aad0a19
inline SetViewport into VertexShaderManager
2014-02-15 21:09:42 +01:00