Commit Graph

729 Commits

Author SHA1 Message Date
Twinaphex ae6e410de1 Remove unused variables 2018-03-01 22:28:26 +01:00
twinaphex 5b79d2b942 Refactor video_shader_driver_set_parameters 2018-02-26 17:51:52 +01:00
twinaphex 938f6cc26e Get rid of hashes in shader_gl_cg 2018-02-25 01:13:34 +01:00
aliaspider 19aed2af36 (D3D11/12) prevent double-free when resizing framebuffers.
(D3D12)
- correctly support lut/filtering/wrap options for slang shaders.
- rework frame sync.
2018-02-11 22:56:37 +01:00
twinaphex 8771171f63 (glslang) Compatibility tweaks for MSVC 2010 compatibility 2018-02-04 15:49:53 +01:00
Twinaphex 31a30f1496
Merge pull request #6229 from aliaspider/master
(slang) slang_process: preset alias setting has higher priority.
2018-02-03 23:36:59 +01:00
aliaspider 0e159a0ec0 (slang) slang_process: preset alias setting has higher priority. 2018-02-03 23:35:04 +01:00
twinaphex c60f706f1e (MSVC 2013) Update solution
Griffin - add better ifdefs
2018-02-03 20:50:31 +01:00
Twinaphex e5610d5ddb
Merge pull request #6228 from aliaspider/master
(slang) slang_process: simplify data mappings.
2018-02-03 17:27:25 +01:00
aliaspider 76d07cd6a7 (slang) slang_process: simplify data mappings. 2018-02-03 17:22:47 +01:00
twinaphex 311de8138e (Griffin) shader_vulkan - Uniquely name set_unique_map to avoid collision 2018-02-03 17:20:23 +01:00
twinaphex 94022f0599 (MSVC 2013) Add HAVE_SLANG
(Griffin) Add SPIRV-Cross/slang rules to Griffin
2018-02-03 17:10:20 +01:00
aliaspider e225e96025 (D3D11) multi-pass shaders: add support for history frames. 2018-02-03 13:29:00 +01:00
aliaspider e30c7edd8d (D3D11) multi-pass shaders: add support for feed-back textures. 2018-02-02 19:57:45 +01:00
aliaspider 7f75e9f4cf build fix for HAVE_GLSLANG=1 HAVE_VULKAN=0. 2018-02-02 13:35:31 +01:00
aliaspider 1fd1426388 (slang) no need for this anymore. 2018-02-02 12:32:31 +01:00
aliaspider caad590d04 (slang) slang_process: fix compatibility with more shaders. 2018-02-02 01:50:18 +01:00
aliaspider 189ea0578d (slang) slang_process: change the type of FragCoord only when it is a
pixel shader input.
2018-02-01 22:22:56 +01:00
aliaspider b8e3933fe0 (slang) slang_process: 'linear' and 'point' are also reserved keywords
in HLSL.
2018-02-01 22:11:11 +01:00
aliaspider 80880ec857 (slang) slang_process.cpp: enforce the binding of the uniform and push
constant blocks.
2018-02-01 21:45:36 +01:00
aliaspider 8db625dd59 (slang) slang_process.cpp: add support for more shaders. 2018-02-01 20:10:07 +01:00
aliaspider d0b997a414 (slang) slang_process.cpp: stage_mask texture semantic doesn't apply to
the size uniforms.
2018-02-01 17:48:27 +01:00
aliaspider 11a7171b51 (slang) set enum value SLANG_FORMAT_UNKNOWN to 0. 2018-02-01 15:13:58 +01:00
aliaspider 3865856aa2 (D3D11) add support for `#pragma format` in slang shaders. 2018-02-01 15:07:12 +01:00
aliaspider f34dbdff8b (slang) cleanups. 2018-01-31 19:36:31 +01:00
aliaspider d8924d6fbb (D3D11) clear out all unused texture/sampler bindings each pass to avoid
hazards with SetRenderTargets.
2018-01-31 17:05:48 +01:00
aliaspider 5e09af9c77 (D3D11) attach identifiers to the generated slang semantic mappings to
simplify debugging.
2018-01-31 12:00:39 +01:00
aliaspider 5bc78d3ad5 (D3D11) Implement slang shader specification using Spirv-Cross.
(incomplete)
2018-01-31 01:08:36 +01:00
twinaphex 891d8741db (HLSL shader driver) Cleanups 2018-01-29 12:01:52 +01:00
twinaphex ee813ab76b Create new functions for d3d_common.c 2018-01-29 11:44:55 +01:00
twinaphex 204f9aa484 (360) More buildfixes 2018-01-25 15:35:07 +01:00
twinaphex 282853873b (360) Some buildfixes 2018-01-25 12:35:46 +01:00
twinaphex bc81a9dc88 Dehardcode LPDIRECT3DDEVICE usage 2018-01-25 01:45:03 +01:00
aliaspider d0d8a98046 (msvc) fix glslang build.
glslang still can't build with griffin since the files expect to be
compiled seperately.
2018-01-21 11:52:56 +01:00
twinaphex 61ff51be2f Start using string_is_equal predominantly 2018-01-16 22:53:38 +01:00
twinaphex 54fd72fb24 Make it possible to compile with HAVE_VULKAN on MSVC 2017 build ;
glslang stripped out for now
2018-01-11 02:53:40 +01:00
twinaphex 5eb5ecac77 Update shader_hlsl.c 2018-01-07 21:34:39 +01:00
twinaphex 23ace06ca1 Cleanups 2018-01-07 20:55:00 +01:00
twinaphex acf9e41aae Start using d3dx_compile_shader 2018-01-07 20:47:35 +01:00
twinaphex fce097b892 (360) Buildfixes 2018-01-07 12:00:09 +01:00
twinaphex e90a71d9f5 Create d3dx_compile_shader_from_file 2018-01-07 11:52:32 +01:00
twinaphex df2a31b0e9 Create d3d pixel shader/vertex shader functions 2018-01-06 23:10:27 +01:00
twinaphex d7df6b3729 Create d3d_free_vertex_shader/d3d_free_pixel_shader 2018-01-06 22:57:44 +01:00
twinaphex e03e578212 Add d3d_set_pixel_shader 2018-01-06 22:49:36 +01:00
twinaphex 9fe3271900 Add d3dxbuffer_release 2018-01-06 21:30:50 +01:00
twinaphex 942fd7102d Start getting HLSL compiling for PC 2018-01-06 20:48:17 +01:00
aliaspider 55d262f5d8 (WIIU) add preliminary multi-pass shader support.
can load *.slangp and *.slang files. since there is no runtime compiler,
precompiled shaders (*.gsh) need to be present next to each *.slang
source file.
2018-01-06 03:39:53 +01:00
twinaphex 8908d9983b (360) Some more buildfixes 2018-01-01 15:11:06 +01:00
twinaphex 2884ad2d73 (360) Some buildfixes 2017-12-31 06:09:39 +01:00
twinaphex 20bb653f1e (Xbox 360) Buildfixes 2017-12-30 12:36:00 +01:00
twinaphex d5d4e9ff2b (shader HLSL) Start adding support for C as well 2017-12-30 12:16:07 +01:00
twinaphex fb74e11011 (360) Small buildfixes 2017-12-30 12:00:43 +01:00
gblues 6904101c44 Clean up trailing whitespace
== DETAILS

Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
radius bada13a215 let it snow 2017-12-02 22:47:44 -05:00
twinaphex 2b1481d97f Refactor set_mvp code a bit 2017-11-15 14:09:41 +01:00
twinaphex e560adcc9f Refactor this - get rid of set_coords_fallback 2017-11-13 12:27:45 +01:00
twinaphex f53fe4a07c Remove this from set_mvp function 2017-11-13 12:10:18 +01:00
twinaphex 2327d38e0d Remove this 2017-11-13 12:08:46 +01:00
twinaphex 8a82fd7905 Update 2017-11-13 12:05:50 +01:00
twinaphex 96876c66ce Updates 2017-11-08 02:36:38 +01:00
twinaphex fc43a14637 Updates 2017-11-07 21:03:29 +01:00
twinaphex f5d9427d48 Convert shader_hlsl.cpp to C 2017-11-06 19:44:00 +01:00
twinaphex 7dcafe4b40 (HLSL) Cleanups 2017-10-03 05:18:32 +02:00
twinaphex 71dd8f9084 Silence more warnings 2017-10-03 00:56:18 +02:00
twinaphex 374b6115e1 Update HLSL backend 2017-09-05 03:21:58 +02:00
twinaphex e1c139dda6 Buildfix 2017-09-05 00:10:24 +02:00
twinaphex 29af83f8e3 Fix some format-truncation warnings 2017-08-10 23:07:27 +02:00
twinaphex cfc7f4c8c7 Cleanups 2017-07-23 19:46:11 +02:00
Twinaphex d561c7ff2d Revert "Don't show this warning when HAVE_SHADER_PIPELINE is not defined"
This reverts commit 431f1b4b7f.
2017-06-28 05:02:31 +02:00
Twinaphex 431f1b4b7f Don't show this warning when HAVE_SHADER_PIPELINE is not defined 2017-06-28 05:01:55 +02:00
twinaphex 03ee897ae2 Try implementing core context version of XMB ribbon 2017-06-27 06:31:18 +02:00
Twinaphex e2be9e659d Silence some warnings 2017-06-08 02:44:38 +02:00
twinaphex efce4d0abf Revert "Add cb_set_shader_coords"
This reverts commit 06df028722.
2017-05-19 21:21:40 +02:00
twinaphex 06df028722 Add cb_set_shader_coords 2017-05-19 21:13:44 +02:00
Zoran Vuckovic 54b5d289b0 Fix crash in GLSL shader driver 2017-05-19 12:14:51 +02:00
twinaphex 24ce77155a Cleanup 2017-05-19 03:52:04 +02:00
twinaphex 59b3344e72 Combine video_driver.c and video_shader_driver.c 2017-05-18 14:47:24 +02:00
twinaphex 4e7b376e18 Cleanups 2017-05-18 14:31:40 +02:00
twinaphex cb529822c6 Cleanups 2017-05-18 14:27:37 +02:00
twinaphex 374f8e8a19 Cleanups 2017-05-18 14:22:50 +02:00
twinaphex 2f72506959 Bind default function to filter_type callback 2017-05-18 14:20:05 +02:00
twinaphex 9d11133edf Cleanups - get rid of if conditionals 2017-05-18 14:18:01 +02:00
twinaphex 1411b9ee6e Do away with all these if conditionals 2017-05-18 14:06:50 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
aliaspider 66c8778878 'es' is required after #version 300. 2017-05-12 01:29:02 +01:00
aliaspider 1223309052 better handling of existing #version directive in glsl shaders. 2017-05-11 05:14:11 +01:00
twinaphex 57089dc108 Update gl_common.c - update CHANGES.md 2017-05-11 02:56:11 +02:00
twinaphex e0c0815f42 (shader_vulkan.cpp) cleanups - don't use memset 2017-05-10 06:40:21 +02:00
twinaphex 1b302d6e40 (shader_vulkan.cpp) Cleanups 2017-05-10 06:31:06 +02:00
twinaphex 865ec1eb71 Cleanup 2017-05-10 06:23:53 +02:00
hunterk 7f8d4479f4 fix version directives in GLSL shaders, courtesy of aliaspider 2017-05-09 23:20:00 -05:00
twinaphex 9e7ac432c3 Try to prevent null pointer dereference 2017-04-28 12:07:11 +02:00
twinaphex 15a8f0c485 Wrap some more settings manipulation 2017-04-25 15:31:32 +02:00
twinaphex d77da6b53d Fix bug in shader_glsl.c 2017-04-21 23:10:55 +02:00
twinaphex 284e6b2994 Replace more instances of string_is_equal 2017-04-21 22:51:04 +02:00
twinaphex f9bc2d3783 Use memcmp instead of string_is_equal where possible for
better performance
2017-04-21 22:47:15 +02:00
twinaphex 755ceda4f9 More consistent log messages 2017-03-24 00:30:14 +01:00
twinaphex 17235d70e2 Create set_coords_fallback for shader driver 2017-03-23 21:49:29 +01:00
twinaphex 17739435de Cleanups 2017-03-07 12:59:58 +01:00
twinaphex 4118d0bbd2 Cleanups 2017-03-07 12:49:52 +01:00
twinaphex f4ac760178 Cleanups 2017-03-07 12:37:11 +01:00
twinaphex cb1c8df547 Simplify gl_glsl_set_coords 2017-03-07 12:35:29 +01:00
Twinaphex 43c32aad3d Silence more warnings 2017-02-26 22:16:03 +01:00
Twinaphex b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
Hans-Kristian Arntzen 2d88530c98 Vulkan: Simple snow pipeline works.
Some other fixes too.
2017-02-20 20:53:59 +01:00
twinaphex 81b529696f Cleanups 2017-01-23 02:33:46 +01:00
twinaphex 96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex 219a07f709 (hlsl) Fix 2017-01-19 21:21:53 +01:00
twinaphex 28195ee517 (HLSL) Buildfixes 2017-01-19 21:20:05 +01:00
twinaphex 861ad8b3ab (XDK360) Another buildfix 2017-01-19 21:05:04 +01:00
twinaphex 0edbf8d5c9 (shader_hlslc.) Another buildfix 2017-01-19 20:56:07 +01:00
twinaphex 98f0422b20 (HLSL) Fix typo 2017-01-19 20:50:00 +01:00
twinaphex fd8cdc389f (Xbox 360) More buildfixes 2017-01-19 20:31:33 +01:00
twinaphex 0354ced675 Style nits 2017-01-17 19:02:49 +01:00
twinaphex 0ee34b0076 (glslang_util.cpp) Cleanups/style nits 2017-01-12 10:32:57 +01:00
twinaphex 68d484bf60 Set supports_rgba before calling image_texture_load 2017-01-08 21:49:23 +01:00
twinaphex c8bc6c7120 (XMB) Add Bokeh menu pipeline 2017-01-08 03:56:47 +01:00
twinaphex c57ab8f37a Add pipeline_bokeh to shader_glsl.c 2017-01-08 02:16:47 +01:00
twinaphex 58716e5f3c Silence some Coverity warnings 2016-12-21 01:34:28 +01:00
Hans-Kristian Arntzen 4e9fe4bd54 Vulkan: Fix menu shader parameters for slangp.
video_shader_resolve_parameters did not take #includes into account
while the Vulkan implementation did. Added a helper function which
parses a shader file and figures out the shader parameters in the same
way.
2016-12-20 15:58:37 +01:00
twinaphex 31b87594aa Get rid of some implicit memsets for state tracker 2016-12-19 19:08:37 +01:00
twinaphex feae0823ce Prevent some implicit memsets 2016-12-17 14:40:06 +01:00
twinaphex 96ffd8e025 Revert "Remove HAVE_COMPRESSION ifdefs in file_path.c"
This reverts commit 4103b70833.
2016-12-17 12:55:38 +01:00
twinaphex 4103b70833 Remove HAVE_COMPRESSION ifdefs in file_path.c 2016-12-17 12:20:49 +01:00
Brad Parker 1f39426195 only use fancy ribbon on GLES if GL_OES_standard_derivatives extension is detected 2016-12-09 19:32:55 -05:00
Brad Parker 32a3026654 enable standard derivatives extension for GLES, adds support for complex XMB ribbon 2016-12-06 21:04:12 -05:00
twinaphex 9f470c53ae Add 'Simple Snow' shader to GLSL backend 2016-12-06 00:48:36 +01:00
twinaphex abaa6eda62 Rename VIDEO_SHADER_MENU_SEC to VIDEO_SHADER_MENU_2 2016-12-06 00:34:38 +01:00
Hans-Kristian Arntzen 53c30cacd5 Correctly check errors if preset cannot be found. 2016-12-03 16:05:04 +01:00
twinaphex 45407f9b52 (shader_glsl.c) Small cleanups 2016-12-02 16:50:08 +01:00
twinaphex 65ba82ca4b (shader_gl_cg.c) Cleanups 2016-12-02 16:45:58 +01:00
Jean-André Santoni d4296b016f Make shader names consistent, step 5 2016-11-19 00:30:56 +01:00
Jean-André Santoni 9c83658368 Make shader names consistent, step 4 2016-11-19 00:29:13 +01:00
Jean-André Santoni d1bf61076d Make shader names consistent, step 3 2016-11-19 00:27:54 +01:00
Jean-André Santoni 35d8ec12c5 Make shader names consistent, step 2 2016-11-19 00:23:07 +01:00
Jean-André Santoni 3b2b7580db Make shader names consistent, step 1 2016-11-19 00:20:52 +01:00
twinaphex df7ffe1822 Don't use legacy vertex shader for snow for OpenGLES 2016-11-17 21:25:02 +01:00
twinaphex 547cb83652 Add third menu shader program 2016-11-17 21:14:19 +01:00
twinaphex 20c1ef83d6 First stab at getting snow shader to work 2016-11-17 21:08:50 +01:00
twinaphex a2c69ec254 Added snow shader hooks - doesn't work yet though - shader driver
system is very limited in terms of how we can set custom menu
shaders - will require a rethink
2016-11-17 20:54:29 +01:00
Higor Eurípedes 8977968b6d (shader_glsl.c) Don't allocate/clear more than needed in gl_glsl_set_coords() 2016-11-12 08:23:06 -03:00
twinaphex 8551cc4f9b Remove if 0 for memcpy 2016-11-11 22:54:13 +01:00
twinaphex 849cc591bc Revert "Use GL_STREAM_DRAW"
This reverts commit df4107b541.
2016-11-11 18:34:06 +01:00
neville df4107b541 Use GL_STREAM_DRAW 2016-11-11 00:52:43 +01:00
neville 12804431db (GLSL) Avoid memsets - good for about a +1fps speedup with simplified
ribbon on PowerPC Mac
2016-11-10 18:35:47 +01:00
twinaphex 3f29eed928 According to enygmata's findings we can comment this out 2016-11-10 02:09:25 +01:00
twinaphex 12ab2d5e7d (Android) Buildfix 2016-10-24 05:53:16 +02:00
twinaphex b95ec0d28e Make sure this string is null-terminated 2016-10-21 20:14:51 +02:00
twinaphex c3ab8800f4 Prevent implicit memsets 2016-10-21 05:57:40 +02:00
Logan McNaughton 1717e8c938 Fix for zarch menu 2016-10-20 20:29:46 -06:00
Logan McNaughton d360bf17d5 Yet another fix for glUniformMatrix4fv
This should fix fullscreen toggling/context resets.
2016-09-28 08:18:32 -06:00
Logan McNaughton 01a03abdc5 Fix glUniformMatrix4fv call 2016-09-27 16:03:54 -06:00
Logan McNaughton 0d3e9875b1 Only call glUniformMatrix4fv if needed 2016-09-27 08:56:36 -06:00
Twinaphex 7672288fcd Revert "Only call glUniformMatrix4fv if needed" 2016-09-27 02:59:58 +02:00
Logan McNaughton fa48e95946 Only call glUniformMatrix4fv if needed 2016-09-26 14:24:27 -06:00
twinaphex b3ec735e75 Silence some more scan-build warnings 2016-09-25 15:25:20 +02:00
twinaphex 764a4319a0 (shader_glsl.c) Continue with iteration if pass is NULL 2016-09-24 17:04:49 +02:00
twinaphex b5416e4041 Change false to 0 2016-09-24 17:04:21 +02:00
twinaphex 5b5ad03ec3 Attempt to fix Coverity warnings 2016-09-24 17:04:01 +02:00
Higor Eurípedes c08650f1f9 Remove trailing whitespace 2016-09-17 21:20:27 -03:00
Higor Eurípedes d4305d65d9 (gl) Fix gl_check_error()
gl_check_error() was leaking memory and the error message was never
returned to the calling context.
2016-09-17 21:19:57 -03:00
twinaphex 6002fd9f2a (shader_vulkan.cpp) Nits 2016-09-16 17:50:57 +02:00
twinaphex 99aae8537b Use string_is_equal/stdstring.h 2016-09-16 17:33:18 +02:00
twinaphex 606e37fcbd Cleanups 2016-09-11 15:07:07 +02:00
twinaphex 7a36ea7d1c Silence warnings 2016-09-08 06:11:02 +02:00
twinaphex 642e46779b Cleanups 2016-09-06 23:59:43 +02:00
twinaphex 075aea2289 Header include cleanups 2016-09-06 00:56:00 +02:00
Twinaphex ef43a573a3 Silence warnings 2016-09-05 07:28:55 +02:00
twinaphex 1a241fa9ce Rewrite this 2016-09-05 07:22:44 +02:00
twinaphex 815c0eb3ee Remove header includes 2016-09-01 05:46:10 +02:00
twinaphex 4791174ea3 (MSVC 2003) Fixes 2006-01-17 06:11:55 +01:00
Logan McNaughton 2daf102111 Fix GLES3 compling 2016-08-07 22:33:07 -06:00
twinaphex fb9a2eea95 Remove one useless HAVE_OPENGLES2 ifdef, and remove some wrong
defines
2016-08-07 04:35:38 +02:00
Hans-Kristian Arntzen 96818a297c Vulkan: Fix validation errors with OriginalHistory.
For some reason, OriginalHistory blit happened inside a render pass.
Also add more TRANSFER_SRC_BIT caps to images as they might have to be
copied to history.
2016-08-07 01:09:15 +02:00
Hans-Kristian Arntzen fb407796e9 Vulkan: Add push constant support to slang.
Usually, the UBO is very small, so we can fit everything in fast-access
uniforms.
2016-08-02 12:51:30 +02:00
Hans-Kristian Arntzen 00de5aa2f0 Vulkan: Filter out duplicated parameters. 2016-08-01 22:10:14 +02:00
Hans-Kristian Arntzen efd3067903 Vulkan: Hook up shader parameters. 2016-08-01 22:10:14 +02:00
Hans-Kristian Arntzen a50c204d5e Vulkan: Begin parsing parameters. 2016-08-01 22:10:14 +02:00
Hans-Kristian Arntzen efee5d131a Vulkan: Make glslang shaders debuggable.
Properly handle file names, includes, etc to make
error reports somewhat more sane.
2016-08-01 14:27:23 +02:00
Hans-Kristian Arntzen bdcbc56507 Vulkan: Fix validation errors. 2016-07-31 19:59:36 +02:00
Hans-Kristian Arntzen e61ec38543 Vulkan: Mipmapped FBOs work. 2016-07-31 19:52:15 +02:00
Hans-Kristian Arntzen a48ba6c68b Vulkan: Add mipmapping support to Framebuffer class. 2016-07-31 19:23:42 +02:00
Hans-Kristian Arntzen 9a613ef8bf Vulkan: Actually bind correct part of the UBO. 2016-07-31 18:25:42 +02:00
Hans-Kristian Arntzen c0e752c53c Persistently map filter chain UBO. 2016-07-31 18:19:35 +02:00
Hans-Kristian Arntzen 10e864b26b Hook up wrapping modes. 2016-07-31 16:32:55 +02:00
Hans-Kristian Arntzen 4ac9ebd579 Vulkan: Allow configuring mip/wrap/filter for LUTs.
LUTs are feature complete with CGP now.
2016-07-31 16:16:47 +02:00
Hans-Kristian Arntzen e846bd4955 Vulkan: Hook up preliminary support for mip/wrapping modes. 2016-07-31 15:42:57 +02:00
Hans-Kristian Arntzen e57997bb82 Make image barriers hit the entire mipchain. 2016-07-31 13:05:07 +02:00
Hans-Kristian Arntzen cbca9513ab Basic LUT work. 2016-07-31 13:01:31 +02:00
Hans-Kristian Arntzen f208bba41e Add USER semantic to match user textures. 2016-07-31 12:39:07 +02:00
Hans-Kristian Arntzen d39a3619d6 Begin implementation of LUTs in Vulkan. 2016-07-31 12:26:14 +02:00
Hans-Kristian Arntzen e35191765c Vulkan: Fix PassOutput.
Oddly enough it worked during testing, but turns out it was never set
:')
2016-07-23 23:39:57 +02:00
Hans-Kristian Arntzen 4b7cadbae7 Vulkan: Fix silly bug with alias handling. 2016-07-23 23:23:22 +02:00
Hans-Kristian Arntzen 2174f7d99b Vulkan: Fix wrong error handling for missing file.
Apparently 0/1 is returned instead of 0/-1.
2016-07-23 21:59:17 +02:00
Hans-Kristian Arntzen 1e9e1fc885 Vulkan: Update SPIRV-Cross.
Fixes reflection issues which have been fixed in recent spirv-cross.
2016-07-15 22:12:57 +02:00
twinaphex 2a9bf91e0d Use MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE 2016-06-29 02:40:05 +02:00
Hans-Kristian Arntzen 54c1759f45 Vulkan: Make a more general purpose symbol loader.
Avoids painful manual loading and wrapping function pointers everywhere
...

Reusable for cores, so move to libretro-common.
Also update built-in Vulkan headers.
2016-06-26 13:10:58 +02:00
Hans-Kristian Arntzen b013a9c863 Vulkan: Replace prebaked shaders with glslc -mfmt=c.
Far more clean and avoids illegal punning.
2016-06-25 14:55:03 +02:00
Hans-Kristian Arntzen de36f572d1 Vulkan: Fix more validation issues. 2016-06-25 14:01:10 +02:00
twinaphex 883d9ff6b5 Add HAVE_SHADERPIPELINE define 2016-06-07 00:00:28 +02:00
twinaphex c1f9d7b498 (shader_glsl.c) Fix dereference after null check warnings 2016-06-05 19:02:13 +02:00
twinaphex 01390f8ceb Use retro_common_api.h 2016-06-03 08:06:49 +02:00
twinaphex 42971febba Fix resource leaks (pointed out by Coverity) 2016-05-24 22:01:43 +02:00
twinaphex 01e3362f21 Remove unused variable 2016-05-16 07:52:26 +02:00
twinaphex 8de39f261c (GLSL) Remove unused variables 2016-05-16 05:58:00 +02:00
twinaphex b4abec5181 Cleanups 2016-05-15 19:59:03 +02:00
twinaphex d63e7defb5 (GLSL) Remove more code 2016-05-15 19:58:02 +02:00
twinaphex 67d08f6790 Restore glsl_set_params 2016-05-15 19:56:53 +02:00
twinaphex c15ec92c83 (Cg) set_params - don't use set_uniform_parameter function - fixes PS3 port 2016-05-15 19:03:39 +02:00
twinaphex 2f69c20e39 Revert "(Shaders) Get rid of third parameter"
This reverts commit 52d6a21e55.
2016-05-15 17:26:23 +02:00
twinaphex 52d6a21e55 (Shaders) Get rid of third parameter 2016-05-15 17:22:55 +02:00
twinaphex f0b99edafc Prevent some warnings/errors from occurring with MESA_DEBUG 2016-05-12 04:29:36 +02:00
twinaphex dde471e001 Rename gfx_ structs 2016-05-10 02:39:09 +02:00
twinaphex 0e08dbe931 Rename gfx_coord to video_coord 2016-05-10 02:32:59 +02:00
twinaphex 6ae20f2016 Create managers/ dir - move cheats.c and state_manager.c to it 2016-05-09 18:20:52 +02:00
twinaphex 372e7d94cd Rename rewind.c to state_manager 2016-05-09 07:14:10 +02:00
twinaphex 3dfd8a0584 Split up vertex/fragment shader conditionals for XMB ribbon 2016-05-09 04:31:21 +02:00
Hans-Kristian Arntzen ade5131833 Vulkan: Move to SPIRV-Cross. 2016-05-08 12:43:58 +02:00
twinaphex e165954395 Rename libretro_version_1 to core_impl 2016-05-08 05:29:10 +02:00
twinaphex 6544772fb8 De-ioctl ify core_ctl 2016-05-08 01:33:57 +02:00
twinaphex ba415b6d3a Silence warnings 2016-04-27 23:07:36 +02:00
twinaphex 15a30dae70 CLeanups 2016-04-27 14:29:28 +02:00
twinaphex 7c4df601f8 (Cg) Call gl_cg_set_program_base_attrib for XMB pipeline shaders 2016-04-26 09:16:25 +02:00
Torsten Paul fdd6d26d85 Add uniform lookup for menu shaders.
This fixes the mix-up of parameter assignments for the XMB ribbon shader
which was caused by all 4 uniform locations set to 0.
2016-04-26 00:08:24 +02:00
twinaphex a83e6b3405 (Cg) Cleanups 2016-04-25 13:02:05 +02:00
twinaphex 0a3ca14fde (Cg) Rename cg_data to cg 2016-04-25 12:51:01 +02:00
twinaphex 43943fe794 (Cg) Cleanups 2016-04-25 12:33:38 +02:00
twinaphex d4184df592 (Cg) Call gl_cg_reset_attribs before initializing Cg shader backend 2016-04-25 12:22:55 +02:00
twinaphex 01a9185a2d (Cg) Cleanups 2016-04-25 12:07:23 +02:00
twinaphex 9ff8a3c8e2 (Cg) Cleanups 2016-04-25 11:59:46 +02:00
twinaphex 242e579b89 (Cg/GLSL) Name some variables the same 2016-04-25 10:15:57 +02:00
twinaphex 8cb66dd021 Add way to switch back and forth between shader pipeline 2016-04-24 22:03:39 +02:00
twinaphex b00202a83d (GLES2) Use XMB ribbon simple shader for GLES2 2016-04-24 20:29:42 +02:00
twinaphex d7b3e9cc8f Add old shader versions of XMB ribbon 2016-04-24 20:25:56 +02:00
Twinaphex 493b6850a5 Use include dir d3d/cg files 2016-04-23 18:19:35 +02:00
twinaphex ce077533c2 (GLSL) Increase attrib array size 2016-04-22 15:22:27 +02:00
twinaphex 99246ae3e8 (Cg) Cleanup 2016-04-22 14:37:11 +02:00
twinaphex 63f0e998db (Cg) Code deduplication cleanups 2016-04-22 14:05:45 +02:00
twinaphex 4250161327 (GLSL/Cg) Simplify some variables 2016-04-22 14:00:30 +02:00
twinaphex f3f6e6ff70 (Cg) Make cg_attribs bigger - would lead to overflows when sending
XMB ribbon to it
2016-04-22 13:27:50 +02:00
twinaphex ec4f961348 (XMB Cg) Ribbon works with Cg now too 2016-04-17 17:59:40 +02:00
Twinaphex c8d97d05e7 (shader_glsl.c) Fix warnings 2016-04-17 07:45:37 +02:00
twinaphex ef835f93d5 Change function signature for set_coords 2016-04-17 07:12:48 +02:00
twinaphex 58f145282e (XMB) Set uniform to vertex program and add 'add_prefix' to uniform_info struct 2016-04-17 06:11:48 +02:00
twinaphex 6579b5f3c8 Add XMB shader compilation to shader_gl_cg.c 2016-04-17 05:52:26 +02:00
twinaphex 46b2100132 gl_cg_set_mvp - cleanup 2016-04-17 04:55:58 +02:00
twinaphex 07d28091a2 (GLSL) CLeanups 2016-04-17 04:52:13 +02:00
twinaphex 19367da0ae (GLSL) Cleanups 2016-04-17 04:37:38 +02:00
twinaphex e7ab158a3b (Cg) Refactor/cleanups 2016-04-17 03:56:20 +02:00
twinaphex e9d16655f0 Create d3d_shaders 2016-04-17 00:16:32 +02:00
twinaphex 02e0be55a8 Move GL stock shader to gfx/drivers/gl_shaders 2016-04-17 00:11:52 +02:00
twinaphex f0f60901ff Move all shader files to header files (gfx/drivers/gl_shaders) 2016-04-17 00:08:45 +02:00
twinaphex 8b6abde2f9 Start moving GL shaders to gfx/drivers/gl_shaders 2016-04-16 23:57:37 +02:00
twinaphex 5d6b4d0a56 (GLSL) Refactor more code 2016-04-16 20:41:52 +02:00
twinaphex 3b5c4d963a (shader_glsl.c) Lessen calls to glGetUniformLocation 2016-04-16 20:39:57 +02:00
twinaphex a99dcaa929 (Cg) Get rid of pragma_cg_params 2016-04-16 20:35:08 +02:00
twinaphex 6d7dab2e66 (Cg) Fix Cg named parameter lookup 2016-04-16 20:32:45 +02:00
twinaphex 0b4ae30f6b Fix erroneous loop variable passing 2016-04-16 20:23:55 +02:00
twinaphex 7f9249830a set_uniform_parameter - implement parameter lookup properly 2016-04-16 20:06:18 +02:00
twinaphex 4e63113f72 Cleanups 2016-04-16 19:50:23 +02:00
twinaphex d562bf38cb Cleanups 2016-04-16 19:44:44 +02:00
twinaphex 0b7ee2fcf7 Change callback prototype 2016-04-16 19:41:48 +02:00
twinaphex 1230edf1ee Add callback for setting single uniform parameter 2016-04-16 19:38:35 +02:00
twinaphex ae218cf1a5 Expand uniform_set_parameter functions 2016-04-16 19:29:45 +02:00
twinaphex ad627701da (XMB) Cleanups 2016-04-16 17:57:51 +02:00
twinaphex f45d2db0b1 Change function signature of uniform_set_parameter 2016-04-16 07:39:41 +02:00
Twinaphex ae561de0c8 (Griffin) Buildfixes 2016-04-16 07:32:39 +02:00
Twinaphex 5bba5813cf Cleanups - remove unused variables 2016-04-16 07:27:47 +02:00
twinaphex 1f7e6690e3 compile_program - if 'program' is NULL, then try to set program
to built-in shader program slot
2016-04-16 04:58:03 +02:00
twinaphex 86cb092b02 Add SHADER_CTL_COMPILE_PROGRAM 2016-04-16 04:56:15 +02:00
twinaphex 79ef0268e5 (Cg) Cleanups 2016-04-16 04:34:32 +02:00
twinaphex 1439b38b20 (Cg shader) Cleanups 2016-04-16 04:31:24 +02:00
twinaphex 2479699131 Cleanups 2016-04-16 01:51:46 +02:00
twinaphex 8a90e2777c Rename GL_SHADER_STOCK_BLEND to VIDEO_SHADER_STOCK_BLEND 2016-04-16 01:50:20 +02:00
twinaphex 9d85afd358 Refactor SHADER_CTL_USE 2016-04-15 07:37:06 +02:00
twinaphex 0f65518118 Add set_active to 'use' function callback for shader driver 2016-04-15 05:08:03 +02:00
twinaphex 934681614f Cleanup 2016-04-15 05:01:32 +02:00
twinaphex 6a39d504e0 Change signature of uniform_set_parameters 2016-04-14 06:24:36 +02:00
twinaphex 7cd10fd707 Start creating stub hlsl_uniform_set_parameter 2016-04-14 03:52:29 +02:00
twinaphex f418c7fde1 Cleanups 2016-04-14 03:41:53 +02:00
twinaphex b9bb75c193 (HLSL) Refactor hlsl_compile_program 2016-04-14 03:38:45 +02:00
twinaphex e61e617e80 (HLSL) Cleanups 2016-04-14 03:20:19 +02:00
twinaphex a2acb0e6f0 Cleanups 2016-04-14 03:16:24 +02:00
twinaphex c6292a38f5 Cleanups 2016-04-14 03:11:13 +02:00
twinaphex 8701af084a (HLSL) Cleanups 2016-04-14 03:09:15 +02:00
twinaphex 5cc1b85f70 (HLSL) Cleanups 2016-04-14 03:06:59 +02:00
twinaphex 930b854272 Refactor compile_programs functions 2016-04-14 01:53:23 +02:00
twinaphex 5f98068e7d Add shader_program_data 2016-04-14 01:33:43 +02:00
twinaphex 90018dbbe0 (Cg) Cleanups 2016-04-14 01:18:27 +02:00
twinaphex 0093e0cbf9 (Cg) Fix state tracker params too 2016-04-14 01:15:16 +02:00
twinaphex 74be1f5906 (Cg) Should fix pragma parameters 2016-04-14 01:12:14 +02:00
twinaphex 511fbcda93 (Shaders) Refactor shader program compiling code 2016-04-13 20:14:25 +02:00
twinaphex 1e9aed1683 Create struct shader_program_info 2016-04-13 20:06:43 +02:00
twinaphex f28c0475b5 (Shaders) Refactors 2016-04-13 19:58:40 +02:00
twinaphex 29495d4973 (Shaders) Cleanups 2016-04-13 19:27:04 +02:00
twinaphex b63a3f8fcc (GLSL) CLeanups 2016-04-13 06:52:36 +02:00
twinaphex f2e3789c8e (GLSL) Update 2016-04-13 06:40:59 +02:00
twinaphex 45d4718406 (GLSL) Refactor/cleanup 2016-04-13 06:40:40 +02:00
twinaphex f7c0225e1a (GLSL) More cleanups 2016-04-13 06:30:00 +02:00
twinaphex 015c166b1d (GLSL) Cleanups 2016-04-13 06:25:49 +02:00
twinaphex 9218d57b9d (GLSL) Cleanups 2016-04-13 06:18:53 +02:00
twinaphex 53dad5bc73 (GLSL) Cleanups 2016-04-13 06:04:29 +02:00
twinaphex edcf3fd1ee Cleanups 2016-04-13 05:11:22 +02:00
twinaphex 49e43dd085 (GLSL) Cleanup 2016-04-13 05:06:24 +02:00
twinaphex ea824bdee1 Start implementing glsl_uniform_set_parameter 2016-04-13 04:44:08 +02:00
twinaphex bf39033bc3 Add 'enabled' attribute to uniform_params 2016-04-13 04:21:17 +02:00
twinaphex c3f77efb2c Prepare new GLSL uniform code 2016-04-13 04:16:49 +02:00
twinaphex c5e4c90e88 (Cg) Flesh out uniform switch 2016-04-13 02:54:01 +02:00
twinaphex 960783987d (GLSL) Rename gl_uniforms and glsl_vbo 2016-04-13 02:36:00 +02:00
twinaphex f68d98a6a4 Move uniform info structs to video_shader_driver.h 2016-04-13 02:31:49 +02:00
twinaphex 928f4e9e65 (Cg) Cleanup 2016-04-13 01:46:29 +02:00
twinaphex df90f233a4 (GL Cg) Refactor uniform param code 2016-04-13 01:42:40 +02:00
twinaphex 5f0aa1852e This needs to be properly refactored later 2016-04-12 17:56:34 +02:00
Hans-Kristian Arntzen 8c2664e5fb Vulkan: Add explicit render target format support.
Supports all required formats in Vulkan 1.0 as well as GLES 3.x/GL 3.x
(for future).
2016-03-26 23:49:57 +01:00
Hans-Kristian Arntzen 236200ef63 Vulkan: Add format enum for various possible RT formats.
Include all formats which are required to be supported in Vulkan 1.0 and
GLES 3.x. Not all these formats are supported in GLES2, but that's up to
shaders to decide whether they want to support GLES2 or not.
2016-03-26 22:52:32 +01:00
Hans-Kristian Arntzen 82db5a4950 Vulkan: Use single UBO for all passes and sync indices.
Significantly reduces number of allocations.
2016-03-26 19:39:51 +01:00
Hans-Kristian Arntzen 200b88c3ca Vulkan: Add detection for non-causal filter chains. 2016-03-26 18:27:17 +01:00
Hans-Kristian Arntzen b1bd0f7b7f Ignore known pragmas. 2016-03-26 18:07:59 +01:00
Hans-Kristian Arntzen 7d5eb2bc27 Vulkan: Add pass name handling.
Add #pragma name.
2016-03-26 18:00:09 +01:00
Hans-Kristian Arntzen 21c7ff99d1 Vulkan: Add semantic name remapping.
Will be useful for custom named passes.
2016-03-25 23:15:23 +01:00
Hans-Kristian Arntzen 3838b3c045 Vulkan: Add frame count suport. 2016-03-25 22:06:31 +01:00
Hans-Kristian Arntzen b7b03c531a Vulkan: Use single VBO in filter chain.
No need to have two separate buffers here.
2016-03-25 19:23:58 +01:00
Hans-Kristian Arntzen 939bc70ac6 Vulkan: Properly resize and clear feedback textures. 2016-03-25 19:16:39 +01:00
Hans-Kristian Arntzen ca62f342b0 Vulkan: Fix original history.
Verified to work now.
2016-03-25 18:50:49 +01:00
Hans-Kristian Arntzen 79f5e9ca98 Vulkan: Add logging about feedback/history. 2016-03-25 17:45:30 +01:00
Hans-Kristian Arntzen 92601a0fb8 Vulkan: Set arrayed semantic textures. 2016-03-25 17:39:24 +01:00
Hans-Kristian Arntzen 80df588cf0 Vulkan: Implement feedback/history. 2016-03-25 15:32:04 +01:00
Hans-Kristian Arntzen e35e0e0f23 Vulkan: Nits. 2016-03-25 14:53:47 +01:00
Hans-Kristian Arntzen 83ab0d799f Vulkan: Begin implementing history and feedback. 2016-03-25 14:51:37 +01:00
Hans-Kristian Arntzen 4f3ade1b95 Vulkan: Begin sketching out support for complete filter chain. 2016-03-25 13:26:36 +01:00
twinaphex e41127459e Rename 'filestream' functions 2016-03-24 04:09:25 +01:00
Hans-Kristian Arntzen ce34c4bba8 Vulkan: Expose number of components for semantics. 2016-03-23 00:19:24 +01:00
Hans-Kristian Arntzen d5dc50c436 Vulkan: Allow no UBO even if it makes little sense. 2016-03-23 00:19:24 +01:00
Hans-Kristian Arntzen c17755ab1a Vulkan: Default construct slang_reflection instead.
We will use non-POD when dealing with user-defined inputs.
2016-03-23 00:19:24 +01:00
Hans-Kristian Arntzen 2427351afb Vulkan: Log semantic use for debugging. 2016-03-23 00:19:24 +01:00
Hans-Kristian Arntzen 39149b36b2 Vulkan: Clean up semantic parsing a lot.
Split up into two kinds of semantics, textured and not.
2016-03-23 00:19:24 +01:00
Hans-Kristian Arntzen 6add83e3ec Vulkan: Use reflection output for source/original.
Fix some logging messages in reflection.
2016-03-21 16:18:43 +01:00
Hans-Kristian Arntzen dce96d0869 Vulkan: Find OutputSize semantic uniform as well. 2016-03-21 15:31:01 +01:00
Hans-Kristian Arntzen 1822f3bf90 Vulkan: Begin hooking up SPIR-V reflection. 2016-03-21 15:12:12 +01:00
Hans-Kristian Arntzen 72cdd37ad2 Vulkan: Add #include support to slang shaders. 2016-03-21 12:14:11 +01:00
Hans-Kristian Arntzen 5dcb78ea21 Vulkan: Include spir2cross in shader_vulkan.cpp. 2016-03-21 11:56:09 +01:00
Hans-Kristian Arntzen 840278796e Vulkan: Refactor out common resources in filter chain. 2016-03-21 11:45:59 +01:00
Hans-Kristian Arntzen 84923a0465 Vulkan: Tighten up pipeline barrier usage.
Lots of memory barriers used with TOP_OF_PIPE which is not valid.
2016-03-21 10:02:00 +01:00
twinaphex 3720cf87e7 Rename retro_file to file_stream 2016-03-20 16:29:14 +01:00
twinaphex 93b7dc1bdd (libretro-common) move 'lists' files to lists/ 2016-03-20 14:53:54 +01:00
twinaphex 6f80e09ce1 Change MIN/MAX to upper-case 2016-03-02 00:07:31 +01:00
twinaphex d2645e9087 Add more glslang include dirs 2016-03-01 19:19:39 +01:00
Themaister bce0d55a43 Vulkan: Allocate correct number of descriptors.
Have to allocate for entire pool, not per set.
2016-03-01 09:44:18 +01:00
twinaphex de27720044 We don't need to link against libvulkan.so implicitly anymore 2016-03-01 02:47:16 +01:00
twinaphex b0834a0f17 Remove this 2016-03-01 02:22:25 +01:00