1364 Commits

Author SHA1 Message Date
weihuoya
0945c9d5e9 presenting if need 2020-06-16 15:04:37 -04:00
weihuoya
8c0c3baf63 use separate texture buffer for light and fog 2020-06-16 15:04:37 -04:00
xperia64
bb6dd1fe42 Disable deptch stencil shader in texture_downloader_es for now 2020-06-16 15:04:34 -04:00
xperia64
f7d5fd815c Shield TV driver bug workaround 2020-06-16 15:04:33 -04:00
BreadFish64
b4b1b38404 video_core/GLES: fix issues cause by missing glTextureBarrier
create a duplicate for sampling instead
2020-06-16 15:04:33 -04:00
SachinVin
5d6b270037 gl_shader_gen.cpp:fix implicit type conversion error for gles 2020-06-16 15:04:30 -04:00
bunnei
8928837ed0 android: video_core: Add experimental asynchronous GPU option. 2020-06-16 15:04:28 -04:00
FearlessTobi
5d06457ad2 android: Run clang-format 2020-06-16 15:04:25 -04:00
zhupengfei
42556badef gl_shader_util: Specify default precision for uimage2D
Otherwise, this causes the application to crash when compiling any shader, on both devices I tested.
2020-06-16 15:04:15 -04:00
BreadFish64
eadefb446e video_core: disable depth/stencil texture download on OpenGL ES 2020-06-16 15:04:14 -04:00
BreadFish64
a3176778c5 video_core: bump swap chain size for GLES to reduce bottleneck 2020-06-16 15:04:12 -04:00
BreadFish64
280b819386 video_core: implement optimized D24S8->RGBA8 reinterpreters 2020-06-16 15:04:12 -04:00
James Rowe
ddf6c5aeca Use immutable storage when available 2020-06-16 15:04:11 -04:00
BreadFish64
65d774f9cd android: disable OpenGL debug message again 2020-06-16 15:04:11 -04:00
BreadFish64
d9f33b63fc video_core: implement GLES depth/stencil downloads 2020-06-16 15:04:11 -04:00
BreadFish64
a711ee239e video_core: fix texture filters in GLES 2020-06-16 15:04:09 -04:00
BreadFish64
02d92c4096 video_core: move buffer resize before GLES check
preventing the assert in FlushGLBuffer
2020-06-16 15:04:02 -04:00
BreadFish64
b0ae67f4b6 video_core: disable glTextureBarrier for GLES
GLES doesn't support it
2020-06-16 15:04:02 -04:00
bunnei
2fd197c9c8 android: renderer_opengl: Various fixes for GLES. 2020-06-16 15:04:00 -04:00
bunnei
c34a7e9e04 android: video_core: Enable HW shadows and texture barrier on GLES. 2020-06-16 15:03:59 -04:00
bunnei
bda8d3753d video_core: gl_shader_manager: Only set shader samplers on fragment shader.
- Avoids unnecessary uniform errors.
2020-06-16 15:03:59 -04:00
bunnei
eb8e4aa7b2 android: video_core: Require GLES 3.2 in shaders. 2020-06-16 15:03:59 -04:00
bunnei
b3528a4c70 android: video_core: gl_rasterizer_cache: Make cache access thread safe. 2020-06-16 15:03:58 -04:00
bunnei
263c8939d2 android: renderer_opengl: Partially implement glLogicOp on GLES. 2020-06-16 15:03:57 -04:00
bunnei
83a7ba273d android: renderer_opengl: Optimize GetTexImageOES and fix bugs. 2020-06-16 15:03:57 -04:00
bunnei
862d090b09 gl_rasterizer_cache: Remove redundant GLES check. 2020-06-16 15:03:53 -04:00
bunnei
cfbd193ff3 android: gl_rasterizer_cache: Skip costly shutdown procedure. 2020-06-16 15:03:52 -04:00
bunnei
4f1218c90d android: frontend: Track screen layout separately for orientation. 2020-06-16 15:03:46 -04:00
bunnei
99a2391d05 (jroweboy) Remove existing code in src/android
Move src/citra_android to src/android/app/src/main/jni
Disable gdbstub breakpoints on android (could be done better)
Disable LOD_BIAS for GLES (not support on gles)
2020-06-16 15:03:43 -04:00
Mat M
51dfc46d3f
gl_rasterizer_cache: Trivial minor cleanups (#5295)
* gl_rasterizer_cache: Mark file-scope functions as static where applicable

Prevents -Wmissing-declaration warnings from occurring and also makes
these functions internally linked.

* gl_rasterizer_cache: Remove unused local std::string variable

Despite being unused, compilers are unable to completely remove any code
gen related to the construction and destruction of this variable, since
the destructor of std::string is non-trivial.

Thus, we can remove it to reduce a minor amount of unnecessary code
generation

* gl_rasterizer_cache: Mark hash implementation as noexcept

This shouldn't throw.

* gl_rasterizer_cache: Remove unused variable in ClearAll()

* gl_rasterizer_cache: Make use of const on references explicit

While declared as auto&, these actually behave as const auto& variables,
due to the constness of the container being iterated. We can make this
explicit for readability sake.

* gl_rasterizer_cache: Resolve truncation warnings

The size is forwarded to a std::memset call, which takes a std::size_t
as its size parameter, so we can just make this change to silence the
warnings.

* gl_rasterizer_cache: Resolve variable shadowing warnings

Prevents a -Wshadow warning from occurring.
2020-05-18 09:19:54 -05:00
Ben
8d27b0714d
Merge pull request #5335 from lioncash/nullopt
gl_shader_manager: Make use of std::nullopt where applicable
2020-05-09 12:36:23 +02:00
Ben
4892d37309
Merge pull request #5336 from lioncash/constexpr
gl_rasterizer_cache: Make use of if constexpr in MortonCopyTile()
2020-05-09 12:36:04 +02: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
Ben
96ebd53466
Merge pull request #5264 from lioncash/gen
gl_shader_gen: Make use of fmt where applicable
2020-05-09 12:28:57 +02:00
Ben
e959d44f00
Merge pull request #5262 from lioncash/fmt
gl_shader_decompiler: Make use of fmt with the decompiler
2020-05-09 12:28:34 +02:00
Lioncash
cd201cd60f gl_shader_gen: Make use of fmt where applicable
Avoids string churn and makes it significantly easier to read the shader
template strings that are being used as the basis for formatting.
2020-05-08 14:50:48 -04:00
Lioncash
38c8fecb81 gl_rasterizer_cache: Make use of if constexpr in MortonCopyTile()
A trivial change that allows compilers to more rigorously optimize out
code blocks that will never be executed in some scenarios.
2020-05-04 23:08:53 -04:00
Lioncash
f2a7fe05c3 gl_shader_manager: Make use of std::nullopt where applicable
Prevents the internal buffer in the std::optional from being zeroed out
unnecessarily and instead sets the validity byte only in some
implementations.

While we're at it, we can make use of std::move to eliminate unnecessary
heap reallocations from occurring.
2020-05-04 23:00:11 -04:00
Lioncash
016d43df98 gl_shader_decompiler: Make use of fmt with the decompiler
Allows us to avoid even more string churn by allowing the AddLine
function to make use of fmt formatting so the string is formatted all at
once instead of concatenating multiple strings.

This is similar to how yuzu's decompiler works, which I've made function
the same way in the past.
2020-05-04 22:40:33 -04: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
Pengfei Zhu
4d7487bd34
Merge pull request #5298 from lioncash/unused
gl_rasterizer: Silence various compilation warnings
2020-05-01 23:34:36 +08:00
Pengfei Zhu
6a0636d631
Merge pull request #5296 from lioncash/flatten
gl_rasterizer_cache: Flatten LoadCustomTexture()
2020-05-01 23:01:47 +08:00
Pengfei Zhu
2eacb11c53
Merge pull request #5292 from lioncash/alloc
gl_shader_manager: Eliminate variable shadowing
2020-05-01 22:57:55 +08:00
Pengfei Zhu
1bb9a71a01
Merge pull request #5291 from lioncash/trunc
renderer_opengl: Resolve compiler truncation warnings
2020-05-01 22:56:46 +08:00
Ben
fd1b254635
Merge pull request #5290 from lioncash/shader
gl_shader_gen: Minor interface cleanup
2020-05-01 16:16:25 +02: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