Commit Graph

526 Commits

Author SHA1 Message Date
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