JMC47
a88e5ef390
Merge pull request #11498 from iwubcode/save_pipeline_config
...
VideoCommon: store the configuration used to create the AbstractPipeline
2023-02-09 18:38:49 -05:00
JosJuice
6dfd582de6
OGL: Fix GLES crashing on initialization
...
Fixes a regression from PR 11522 ("Kill Renderer").
2023-02-09 18:09:03 +01:00
iwubcode
d0c6b6c9ed
VideoCommon: store the configuration used to create the AbstractPipeline on the pipeline itself, so that it's easy to duplicate pipelines with slightly altered configuration
2023-02-09 02:13:53 -06:00
Scott Mansell
ccf92a3e56
Merge pull request #11522 from phire/KillRendererWithFire
...
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
Scott Mansell
cf9a6f8477
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
31cfe8250d
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
11de923dcb
Move xfb tracking and IR scaling out of RenderBase
2023-02-09 18:36:20 +13:00
Scott Mansell
e009002411
Refactor ClearRegion
...
And fix bug where opengl was getting the wrong coordinates
2023-02-09 18:36:20 +13:00
Scott Mansell
3ae78b8e76
Also use events for config changed
2023-01-31 19:41:24 +13:00
Scott Mansell
58b70b2fb2
Don't set common globals from Video Backends
2023-01-31 19:41:23 +13:00
Scott Mansell
f0336a3129
Implement AbstractGfx for OpenGL
...
Mostly involves moving contents of OGLRender
to OGLGfx and OGLConfig
2023-01-31 18:46:04 +13:00
Scott Mansell
0d4537d60f
Move Presenting, Dumping and ImGui out of Renderer
2023-01-31 18:45:21 +13:00
Scott Mansell
c38c76abad
Refactor to remove virtual from RenderXFBToScreen
...
Slightly simplifies the upcoming refactor
2023-01-31 18:29:47 +13:00
Scott Mansell
606c18210d
TextureCache: Refactor with smart pointers
...
The whole ownership model was getting a bit of a mess, with a some
of special cases to deal with. And I'm planning to make it even more
complex in the future.
So here is some upfront work to convert it over to reference counted
pointers.
2023-01-31 18:29:47 +13:00
iwubcode
7bea39b39e
VideoBackends: add a way to load data into a specific level AND layer, default to layer 0
2023-01-27 18:46:53 -06:00
Pokechu22
c645970578
VideoBackends/OGL: Always check for fbfetch support, not just on GLES
...
GL_EXT_shader_framebuffer_fetch is not restricted to GLES (although GL_ARM_shader_framebuffer_fetch is), and is available on Intel GPUs.
2023-01-02 23:17:08 -08:00
Admiral H. Curtiss
cb0a603c72
VideoCommon: De-globalize GeometryShaderManager class.
2022-12-29 15:33:19 +01:00
Admiral H. Curtiss
50625728e0
VideoCommon: De-globalize VertexShaderManager class.
2022-12-28 15:52:29 +01:00
Admiral H. Curtiss
725bd64ec2
VideoCommon: De-globalize PixelShaderManager class.
2022-12-27 20:13:24 +01:00
JMC47
fb8aa9744e
Merge pull request #11286 from K0bin/vk-query-fix
...
VideoBackends: Query fixes and cleanups
2022-12-19 03:15:48 -05:00
Robin Kertels
35a6d16d9e
VideoBackends: Rename query_type to query_group
2022-11-29 23:14:23 +01:00
TellowKrinkle
e3cc42069f
VideoBackends:OGL: Creating vertex formats shouldn't unbind anything
2022-11-28 21:28:24 -06:00
Pokechu22
cc5640245c
Fix build errors related to formatting non-scoped enums
2022-11-23 13:45:43 -08:00
Tillmann Karras
22eb7e6645
OGL: use already known object label lengths
...
Passing -1 means the driver has to call strlen().
2022-11-01 01:10:03 +00:00
Tillmann Karras
4b8fe959d4
OGL: fix compute shader labels
...
This fixes GL_INVALID_VALUE errors when using GPU texture decoding.
2022-11-01 01:04:46 +00:00
TellowKrinkle
9624479933
VideoBackends:OGL: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
Pokechu22
f9fe25291d
Remove most uses of StringFromFormat in favor of fmt
2022-10-12 16:50:47 -07:00
TellowKrinkle
4c629c2bee
VideoCommon: Add dynamic vertex loader to ubershaders
2022-09-19 16:28:23 -05:00
TellowKrinkle
6ee0248eab
VideoBackends:Metal: MSAA support
2022-07-21 20:44:19 -05:00
TellowKrinkle
716c0980d7
VideoBackends: Add Metal renderer
2022-07-21 20:44:19 -05:00
TellowKrinkle
6ab24e6c17
VideoCommon: Better driver bug handling
...
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
2022-07-13 21:51:24 -05:00
TellowKrinkle
26529a31ab
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-16 20:26:11 -05:00
Admiral H. Curtiss
580c721c82
cmake: Don't use PCH with Qt6.
2022-05-22 01:19:44 +02:00
JMC47
c0488de482
Merge pull request #10251 from Pokechu22/negative-scissor
...
Rework scissor handling
2022-04-24 15:00:42 -04:00
Pokechu22
04fdadd9d5
VideoCommon: Rename norm0/norm1/norm2 to normal/tangent/binormal
2022-04-22 16:54:36 -07:00
Pokechu22
076392a0f6
VideoCommon: Rework scissor handling
...
This increases accuracy, fixing the white rendering in Major Minor's Majestic March. However, the hardware backends can only have one viewport and scissor rectangle at a time, while sometimes multiple are needed to accurately emulate what is happening. If possible, this will need to be fixed later.
2022-04-16 10:26:11 -07:00
Pokechu22
4595b89ad8
VideoCommon: Remove bSupportsOversizedViewports
...
I think this is a relic of D3D9. D3D11 and D3D12 seem to work fine without it. Plus, ViewportCorrectionMatrix just didn't work correctly (at least with the viewports being generated by the new scissor code).
2022-04-16 10:26:11 -07:00
iwubcode
69e79045a3
VideoBackends: fix opengl object label which was given an invalid enumeration as the identifier parameter. Most implementations will warn in this case but there is an implementation that will crash (ANGLE)
2022-03-24 00:25:59 -05:00
Pokechu22
7d76eea4ea
OGLRender: Log video backend info, in addition to showing it via OSD
...
This is mainly intended for debugging fifo.ci.
2022-02-23 18:30:02 -08:00
OatmealDome
a9b5188047
OGLMain: Set default value for bSupportsSettingObjectNames
2022-02-08 14:53:51 -05:00
JMC47
4d1e6ff76a
Merge pull request #10422 from OatmealDome/opengl-shader-crash
...
VideoConfig: Add flag for whether the system supports setting object names
2022-01-31 01:25:46 -05:00
OatmealDome
b36c866398
OGLTexture: Only set texture name if supported
2022-01-31 01:17:40 -05:00
OatmealDome
ea1ac73c38
OGLShader: Only set shader name if supported
2022-01-31 01:17:40 -05:00
OatmealDome
390cc13834
OGLRender: Set object name support on GL >4.3 and GL ES 3.2
2022-01-31 01:17:40 -05:00
Léo Lam
83c5446d85
Fix static initialisation order fiasco issue for Version variables
...
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)
By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
2022-01-14 00:04:22 +01:00
Pokechu22
161c627466
Treewide: Remove unused inclusions of <cinttypes>
...
Most of these became unneeded when fmt was introduced.
2022-01-09 12:43:11 -08:00
Léo Lam
13939b13d7
Merge pull request #10311 from JosJuice/gles-sampler2dmsarray
...
GLES: Fix missing precision for sampler2DMSArray
2022-01-01 16:49:34 +01:00
JosJuice
76b508557e
GLES: Fix missing precision for sampler2DMSArray
...
We don't use sampler2DMS, but we do use sampler2DMSArray.
I can't reproduce it on my phone, but a user who was running GLES
on a Tegra X1 reported a shader compilation error related to this.
2021-12-28 11:36:11 +01:00
OatmealDome
91cdeb5aa6
SamplerCache: Check for bSupportsLodBiasInSampler instead of IsGLES
2021-12-25 15:17:19 -05:00
OatmealDome
08396c56e5
VideoConfig: Add bool for sampler LOD bias support
2021-12-25 15:16:27 -05:00