emufan4568
fc450edd14
gl_rasterizer: Fix minor warnings and improve readability
2022-08-21 12:42:32 +03:00
emufan4568
e6137d7874
renderer_opengl: Remove GLvec* types
...
* The common types already exist and provide all the functionality required, why invent new types?
2022-08-21 12:22:58 +03:00
emufan4568
2726fe66db
renderer_opengl: Header cleanup
...
* Should help with building times
2022-08-21 02:22:57 +03:00
emufan4568
07a69b7c7b
renderer_opengl: Remove amd hacks and legacy paths
...
* AMDs new driver fixed many issues in the OpenGL driver. No reason to
keep these hacks. In addition the upgrade to 4.3 guarantees the
existance of required extensions, so no need to check for them
2022-08-21 01:52:49 +03:00
emufan4568
6a7d601e42
rasterizer_cache: Factor morton swizzle and pixel format to dedicate headers
...
* Makes the code cleaner in general by not having to alias PixelFormat and SurfaceType everywhere
2022-08-21 01:16:47 +03:00
Morph
de1374c1b9
video_core: Resolve C4267 warning on MSVC
2022-05-18 00:05:41 -04:00
SachinVin
b5ac9e4946
Backport non-seperable disk shader from android ( #5976 )
...
* VideoCore: Backport Shader cache for non separable shaders
android: disk_shader_cache: remove redundant lookup
* disk_shader_cache: dont compile dumped shaders
* cleanup Seperable shader loading
* gl_shader_disk_cache.cpp: remove redundant checks
* Skip compiling non seperable raws
* gl_shader_manager.cpp: Skip `GLAD_GL_ARB_get_program_binary` check on GLES
2022-04-02 11:57:14 +05:30
SachinVin
80b8d66017
gl_rasterizer.cpp: don't check for GL_ARB_copy_image when using GLES
2021-10-02 16:38:27 +05:30
bunnei
8a06463c97
android: video_core: Enable HW shadows and texture barrier on GLES.
2021-09-29 22:51:13 +05:30
bunnei
a941547c1c
android: renderer_opengl: Partially implement glLogicOp on GLES.
2021-07-24 23:37:03 +05:30
weihuoya
cddd447506
use separate texture buffer for light and fog
...
gl_state.cpp: Fix typo in texture buffer LUT
gl_state.cpp: Initialize texture_buffer_lut_lf
2021-07-24 23:36:53 +05:30
Vitor Kiguchi
3fb1988b5b
gl_rasterizer: check for GL_ARB_copy_image
2021-04-06 00:20:00 -03:00
BreadFish64
60282f35fe
fix clang format
2020-07-07 16:43:42 -05:00
BreadFish64
662c348b6c
fix
2020-06-27 13:23:34 -05:00
BreadFish64
ea2584c54d
generic texture allocator
2020-06-27 13:13:37 -05:00
BreadFish64
cae4b7aaf7
Clean up
2020-06-26 15:41:10 -05:00
BreadFish64
b80c6f7534
handle all cases more robustly
2020-06-20 13:01:26 -05:00
BreadFish64
d04071d6b3
video_core/GLES: fix issues cause by missing glTextureBarrier
...
create a duplicate for sampling instead
2020-06-20 13:01:26 -05:00
Ben
007fb63e47
Merge pull request #5230 from B3n30/circumvent_apple_intel_hw_shader_issue
...
Add flag to disable seperable shaders for osx Intel GPUs.
2020-05-09 12:34:21 +02:00
Pengfei Zhu
e212dc3a1f
Merge pull request #5297 from lioncash/missing
...
gl_rasterizer: Amend missing return value in branch in SetupGeometryShader()
2020-05-02 08:07:49 +08:00
Lioncash
763778e6c0
gl_rasterizer: Make const on references consistent
...
Applies const to auto& instances that would actually resolve to a const
reference for readability and explicitness.
2020-05-01 06:19:20 -04:00
Lioncash
437453d32b
gl_rasterizer: Amend missing return value in branch in SetupGeometryShader()
...
Previously undefined behavior was being invoked in the case that
geometry shaders weren't supported.
2020-05-01 06:10:32 -04:00
Lioncash
81768bf0c2
gl_rasterizer: Resolve truncation warnings
2020-05-01 06:08:20 -04:00
Lioncash
df97021f55
gl_rasterizer: Make use of std::string_view in IsVendorAmd()
...
Same behavior, no heap allocation.
strings returned from glGetString() are guaranteed to be static strings,
so this is safe to do. They're also guaranteed to be null-terminated.
2020-05-01 05:57:25 -04:00
Lioncash
de140a5870
gl_rasterizer: Default destructor in the cpp file
2020-05-01 05:53:40 -04:00
Lioncash
ea08178dde
gl_rasterizer: Remove unused emu_window variable in RasterizerOpenGL
...
Silences an unused private variable warning.
2020-05-01 05:52:48 -04:00
B3n30
922a5f738a
fix typo; updated comment about apples bad driver
2020-04-18 15:55:19 +02:00
B3n30
1e54f27cde
Add flag to disable seperable shaders for osx Intel GPUs. Default is false
2020-04-18 13:37:58 +02:00
Hamish Milne
9cd669db84
Merge branch 'master' into feature/savestates-2
2020-04-16 19:03:49 +01:00
Hamish Milne
eb78fe0c10
Revert one change from #4844
...
This fixes #5067 by reverting a speculative change made in a previous PR.
From this one can conclude that, for disabled textures, black (0,0,0,1) is the correct colour and clear (0,0,0,0) is not.
2020-04-07 15:38:24 +01:00
James Rowe
55c75b5e3e
Add ClearAll to rasterizer cache for fully wiping the cache on save/load
2020-02-13 17:42:11 +08:00
James Rowe
6945b6539f
Address review and update zstd
2020-01-15 19:58:34 -07:00
James Rowe
4e9ec4efd0
Add shader disk caching
2020-01-15 19:58:33 -07:00
BreadFish64
d0decf2166
remove ugly msvc hack
...
the bug appears to be fixed so there's no reason to keep this around
2019-09-15 22:35:21 -05:00
Weiyi Wang
dd3ba7bd21
opengl: remove hw geometry shader related stuff
2019-08-18 20:07:50 -04:00
Hamish Milne
e3cefe5a5d
Use a clear texture instead of texture 0 (solid black) in the GL rasterizer ( #4844 )
...
* Add OpenGLState.default_texture and set it to Clear in OpenGLRasterizer
* Localize the fix to the GL rasterizer
* Revert unwanted change
2019-08-10 11:05:00 +02:00
weihuoya
899e3eb003
minor fix for opengles
2019-07-28 21:18:38 +08:00
Weiyi Wang
99136ec592
gl_rasterizer: correct supress_mipmap_for_cube logic
...
The previous version would break when the state changes from (cube=true,mipmap=false) -> (cube=true,mipmap=true)
2019-07-06 08:03:01 -04:00
James Rowe
3f2c7eb471
Merge pull request #4738 from FearlessTobi/port-1020-new
...
Port yuzu-emu/yuzu#1020 : "core: Namespace EmuWindow"
2019-04-26 08:58:09 -06:00
Lioncash
6e22891761
core: Namespace EmuWindow
...
Gets the class out of the global namespace.
2019-04-21 14:16:16 +02:00
wwylele
777af04f4a
gl_rasterizer: ignore mipmap setting for cubemap before we implements it
2019-03-08 09:37:25 -05:00
wwylele
ca78d34933
gl_rasterizer: implement mipmap
2019-03-08 09:37:24 -05:00
Lioncash
e1a4912ade
common/math_util: Move contents into the Common namespace
...
These types are within the common library, so they should be within the
Common namespace.
2019-03-02 18:13:10 +01:00
Lioncash
643472e24a
common/vector_math: Move Vec[x] types into the Common namespace
...
These types are within the common library, so they should be using the
Common namespace.
2019-03-02 15:04:13 +01:00
Weiyi Wang
b5f2318ae7
gl_rasterizer: change shadow_texture_bias from shader config var to shader uniform
...
Games can frequently change this register. Using it as shader config var would generates a lot of shaders
2019-02-02 20:40:08 -05:00
Weiyi Wang
296c458e0e
Memory: move GetPhysicalPointer and IsValidPhysicalAddress into class
2018-12-05 20:21:14 -05:00
Tobias
46e8237e7e
Port yuzu-emu/yuzu#1137: "renderer_opengl: Namespace OpenGL code" ( #4423 )
...
* renderer_opengl: Namespace OpenGL code
Namespaces all OpenGL code under the OpenGL namespace.
Prevents polluting the global namespace and allows clear distinction
between other renderers' code in the future.
* Also namespace TextureCubeConfig
2018-11-16 23:29:10 -08:00
Weiyi Wang
7d8f115185
Prefix all size_t with std::
...
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
fearlessTobi
f61c9c3eb7
video_core: Make global EmuWindow instance part of the base renderer …
...
…class
Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.
This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
2018-08-25 15:20:40 +02:00
James Rowe
14b0435df2
Merge pull request #3994 from FearlessTobi/replace-clamp-functions
...
Remove MathUtil::Clamp and replace it with its std:: counterpart
2018-08-02 11:08:07 -06:00