Megamouse
cd9ff08235
Decrease some include madness
2023-04-26 21:37:44 +02:00
kd-11
57dd611111
gl: Fix incomplete stencil view of depth-stencil texture
...
- Samplers must use point sampling for stencil views
2022-08-03 23:33:31 +03:00
kd-11
35ef19cfc8
gl: Refactor the rest of GLHelpers
2022-07-13 02:09:58 +03:00
kd-11
d577cebd89
gl: Refactor image and command-context handling
...
- Move texture object code out of the monolithic header
- All texture binds go through the shared state
- Transient texture binds use a dedicated temp image slot shared with native UI
2022-06-04 14:02:33 +03:00
kd-11
3fd846687e
gl: Refactor buffer object code
2022-06-03 11:54:09 +03:00
kd-11
fc44d53bb0
gl: Reset buffer size on destroying the GPU handle
2022-06-03 11:54:09 +03:00
kd-11
a6e6df1445
gl: Implement fast texture readback for D24X8 and RGBA8/BGRA8
2022-06-03 11:54:09 +03:00
kd-11
d167582f6b
gl: Implement on-chip buffer-to-d24x8 conversion
2022-05-31 23:34:14 +03:00
kd-11
964fd1095e
gl: Properly preserve texture state
...
- Remove rogue glBindTexture calls and use gl commandstate object instead
2022-05-31 23:34:14 +03:00
kd-11
fcc6c2384b
Fix linux build
2022-05-31 23:34:14 +03:00
kd-11
1b305bf789
gl: Workaround for poor AMD OpenGL performance
...
- Turns out the AMD driver really hates it if you render with a mapped index buffer.
The driver internally seems to make a copy of the consumed indices and uses that. Very slow.
I was able to isolate this after observing that glDrawArrays is not entirely shit, but glDrawElements duration scaled linearly with the number of vertices.
2022-05-31 23:34:14 +03:00
kd-11
60a2a39e88
gl: Deswizzle textures on the GPU
2022-05-31 23:34:14 +03:00
kd-11
532563e861
gl: Update some more buffer-object functions
2022-05-31 23:34:14 +03:00
kd-11
55e68441cb
gl: Commit to bindless framebuffer object management
2022-05-31 23:34:14 +03:00
kd-11
e964060a6a
gl: Handle texture binding using the global state tracker
2022-05-31 23:34:14 +03:00
kd-11
74696d2e44
gl: Commit to a consistent global state
2022-05-31 23:34:14 +03:00
kd-11
78746fdb6f
gl: Commit to using DSA for internal buffer management
...
- Gets rid of spammy BindBuffer calls on every draw
2022-05-31 23:34:14 +03:00
kd-11
ed2068fb03
gl: Rewrite buffer mapping
2022-05-31 23:34:14 +03:00
kd-11
bca7b02ae9
Fix compressed pitch calculation
2022-04-19 22:58:29 +03:00
kd-11
bc7ed8eaab
rsx/vk: Rework MSAA implementation
2022-03-17 22:02:20 +03:00
kd-11
e1d1d16227
gl: Alias register binding points a bit
...
- While aliasing is easy to break, it allows outdated hw to run
2021-10-10 16:15:28 +03:00
Nekotekina
160b131de3
types.hpp: implement smin, smax, amin, amax
...
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.
Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
kd-11
c5a06dab0a
rsx: Refactor program texture state handling to be persistent across shader swaps
2021-05-15 23:51:12 +03:00
octopoulo
b8928d230a
gl: Intel GPU shader fix
2021-05-12 15:28:30 +03:00
Nekotekina
038148bf06
Fix almost all GCC warnings
2021-02-17 22:59:04 +03:00
Nekotekina
b7bf316c1a
Don't randomly include "stdafx.h"
...
It's file for precompiled headers.
Include what is used, don't rely on transitive includes.
2020-12-22 14:32:30 +03:00
Nekotekina
eec11bfba9
Move align helpers to util/asm.hpp
...
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00
Nekotekina
fb29933d3d
Add usz alias for std::size_t
2020-12-18 12:23:53 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
Nekotekina
e055d16b2c
Replace verify() with ensure() with auto src location.
...
Expression ensure(x) returns x.
Using comma operator removed.
2020-12-09 15:43:38 +03:00
RipleyTom
af8c661a64
Remove BOM markers
2020-12-06 15:30:12 +03:00
kd-11
7553429130
gl: Thread shader source compilation dispatch
...
- glCompileShader is in itself much slower than anticipated
2020-11-21 20:43:15 +03:00
kd-11
3ddfa288cf
rsx: Use multithreaded shader compiler backend
2020-11-21 20:43:15 +03:00
Nekotekina
71f1021648
Fix thread pool entry point and get_cycles()
...
Fix possible race between thread handle availability.
Don't treat zero thread as invalid one.
Now entry point is full is assembly.
Attempt to fix #9282
Also fix some TLS.
2020-11-21 17:18:42 +03:00
Nekotekina
605d57c541
sys_event: cleanup (replace vm::temporary_unlock)
...
Also made minor changes in sys_rsx.cpp.
Removed unused exception std headers.
2020-10-30 17:49:07 +03:00
kd-11
dc465df3bc
rsx: Enable support for extended range in depth buffer
...
- Software clipping emulation is used here as OpenGL does not have explicit clip control.
- Hardware clip control for vulkan to be enabled after this.
2020-09-08 15:33:08 +03:00
kd-11
85e5b077f7
gl: Overhaul upload and download routines for textures to go through shared image_to_buffer and buffer_to_image routines.
...
- This automatically adds support for depth float textures as well
2020-09-07 18:25:54 +03:00
kd-11
220e86bbd1
gl: Accelerate D24X8_UINT operations
...
- Adds compute decoding for D24X8_UINT on both download and upload routines
- Adds support for D24X8_UINT operations for typeless copy
2020-09-07 18:25:54 +03:00
kd-11
65ead08880
rsx: Refactor and improve image memory manipulation routines
2020-08-27 12:52:28 +03:00
kd-11
a5ac5a9861
rsx: Separate uint depth formats from float depth formats
2020-08-27 12:52:28 +03:00
kd-11
ebbf329b6a
gl: Improve async compiler synchronization with initialization
...
- On multithreaded mesa, the program initialization routine was not
being flushed correctly. Set up synchronization fence after initialization
is complete.
2020-06-07 12:54:34 +03:00
kd-11
59d44cd1cc
gl: Fix shader logging
2020-05-30 14:47:10 +03:00
kd-11
1677618c75
rsx: Implement stippled rendering
2020-05-30 14:47:10 +03:00
Ani
581176fb1a
gl: Restrict insert_vertex_input_fetch workaround to Intel proprietary
...
It works fine on Mesa iris
Fixes detection of Mesa as recent Mesa does not have "x.org" on vendor string, allowing vendor_MESA to become true instead of vendor_INTEL on Mesa Intel
2020-05-17 17:49:14 +03:00
AniLeo
b0d3c4d75e
gl: Refactor shader type usage
...
Use Common/GLSLTypes.h program_domain instead of duplicated own internal
type
2020-05-16 16:16:17 +01:00
AniLeo
3db2f23e02
gl: Refactor shader compilation
2020-05-16 16:16:17 +01:00
Ani
661636efef
gl: Check for EXT_depth_bounds_test
...
Avoid glEnable/glDisable GL_DEPTH_BOUNDS_TEST_EXT flood that returns
GL_INVALID_ENUM if the feature isn't supported
2020-05-16 14:50:05 +01:00
AniLeo
eecb22e749
gl: Remove older debug code
...
KHR_DEBUG path makes this obsolete, usage of this older path has been
removed a long time ago
2020-05-16 08:29:00 +01:00
AniLeo
3ad12cf5f8
gl: Avoid issuing glDelete calls with m_id == GL_NONE
...
Applies GL_NONE macro usage where it makes sense
2020-05-16 08:29:00 +01:00
AniLeo
308cdfac35
gl: Rewrite Debug Output
...
Remove Windows restriction, enable Debug Output for every supported OS
Filter our severity by Khronos severity
Handle and log source and type enums
2020-05-16 08:29:00 +01:00