Commit Graph

729 Commits

Author SHA1 Message Date
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
twinaphex 937230564d move more code to vksym.h 2016-03-01 01:53:48 +01:00
twinaphex 7a907a97a7 Start preparing to split this code up 2016-02-29 23:31:51 +01:00
twinaphex ae5d7849af (shader_vulkan.cpp) Don't have to include general.h for this 2016-02-29 19:23:51 +01:00
twinaphex 9aeceadee6 Style nits for header 2016-02-20 16:37:59 +01:00
twinaphex 4bb3f35a02 80-char width limit style nits 2016-02-20 16:36:54 +01:00
Hans-Kristian Arntzen adbf9fed16 Vulkan implementation. 2016-02-16 20:42:02 +01:00
twinaphex f8b866c8c1 Combine file_ops.c and content.c 2016-02-15 21:49:29 +01:00
twinaphex 3f265360db Style nits 2016-02-14 17:40:20 +01:00
Alcaro b600e6e032 Fix typo. 2016-02-07 16:23:36 +01:00
twinaphex ab64daf5aa Cleanups 2016-02-05 13:51:30 +01:00
twinaphex 9ab31824f8 Use retro_read_file in more places 2016-01-30 03:58:33 +01:00
twinaphex 673aab5282 (PATCH) Strip lines with #pragma parameter.
It's not valid GLSL to have quotes in them, and it's meaningless to pass in the #pragmas to the driver.
2016-01-29 02:07:37 +01:00
twinaphex 2542e4a04e Use CORE_CTL_* callbacks 2016-01-28 03:22:23 +01:00
twinaphex df972d0fd5 (shader_glsl.c) Uniquely name functions 2016-01-23 04:53:20 +01:00
radius 89d9336b08 fix some shaders in GL 2016-01-20 18:52:24 -05:00
twinaphex 157eb71606 Use string_is_equal more 2016-01-20 06:16:55 +01:00
twinaphex 54f46f4ee3 Update headers 2016-01-10 04:41:52 +01:00
twinaphex 24779fda97 Rename stock_program variables 2016-01-09 02:09:24 +01:00
twinaphex 699f2dba1e (D3D) N/A 2016-01-09 02:02:02 +01:00
twinaphex 2fc957d369 Cleanups 2016-01-08 21:01:41 +01:00
twinaphex 2fa87013f1 Cleanups 2016-01-08 21:01:41 +01:00
twinaphex 1014513e91 N/A 2016-01-08 20:46:33 +01:00
twinaphex 770fee3684 Revert "Cleanups"
This reverts commit 340751559e.
2016-01-08 18:38:00 +01:00
twinaphex 340751559e Cleanups 2016-01-08 18:34:15 +01:00
twinaphex e334278696 Cleanups 2016-01-08 18:12:49 +01:00
twinaphex 7bd822e032 (shader_gl_cg.c) Reuse GFX_MAX_VARIABLES 2016-01-07 04:31:31 +01:00
twinaphex c2d7cbe18b Use string_is_empty 2015-12-26 07:59:15 +01:00
twinaphex 71d9a89de9 Revert "gl_glsl_destroy_resources - use glIsBuffer to check if buffer is"
This reverts commit 0deb243c62.
2015-12-09 22:36:43 +01:00
twinaphex 0deb243c62 gl_glsl_destroy_resources - use glIsBuffer to check if buffer is
bound
2015-12-09 18:23:39 +01:00
twinaphex a710d7057f gl_glsl_destroy_resources - use glIsProgram as a final check 2015-12-09 17:57:25 +01:00
Higor Eurípedes 9bb36cac38 (shader_glsl.c) Fix memory leak 2015-12-06 14:23:51 -03:00
twinaphex e735f84baa Refactor shader subsystem 2015-12-05 07:33:32 +01:00
twinaphex 8c3c22f15a Move rewind.h header include to shader_glsl.c 2015-12-04 16:54:09 +01:00
Twinaphex d0340d0f80 (GLSL) Fix regression 2015-12-01 07:12:26 +01:00
twinaphex 7cc7305263 (HLSL) No longer depend on driver struct 2015-11-30 02:28:35 +01:00
twinaphex 321322ab7d (GLSL) Don't use driver struct anymore 2015-11-30 02:20:49 +01:00
twinaphex b996645f46 (shader_gl_cg.c) No longer use driver ptr 2015-11-30 02:08:15 +01:00
twinaphex 8030f91667 Don't use video_driver_get_ptr inside shader_null 2015-11-23 16:41:50 +01:00
twinaphex c7dc83533a Add param to video_driver_get_ptr for grabbing the nonthreaded
data state
2015-11-23 16:06:09 +01:00
twinaphex ddde58caf4 Simplify video_driver_get_ptr 2015-11-20 18:50:21 +01:00
twinaphex 239ae7de53 Move gl_common to gfx/common 2015-11-17 08:01:33 +01:00
twinaphex be57dcb659 Hopefully fixes mingw64-w32 build 2015-11-05 19:44:00 +01:00
twinaphex 2d62493157 Cleanups 2015-10-31 20:53:08 +01:00
Twinaphex 89d5eaa7c8 (GLSL) Add precision hack for GLES 2015-10-29 01:39:08 +01:00
twinaphex 02a43c6b2a Change 'rarch' to 'retro' namespace in libretro-common 2015-10-26 03:18:13 +01:00
twinaphex 108bd27fab Buildfix 2015-10-07 00:20:15 +02:00
Andre Leiradella 5fce3f4138 grouped core functions inside a retro_core_t structure; swapped core function globals by one retro_core_t variable 2015-10-06 14:34:09 -03:00
twinaphex 576626ead0 Refactor frame_is_reversed - shader drivers should no longer
be dependent upon global state
2015-09-16 11:14:43 +02:00
Twinaphex d5f72ca9c1 remove unused variables 2015-08-30 18:45:02 +02:00
Twinaphex e8d266cb9d Revert "Revert "Add support for shader pass feedback."" 2015-08-30 18:37:41 +02:00
Twinaphex ad1825ca50 Revert "Add support for shader pass feedback." 2015-08-30 18:21:07 +02:00
CautiousAlbino aee5e74001 Add support for shader pass feedback. 2015-08-30 16:23:55 +02:00
twinaphex 4b8e65322c Rename gl_tex_info to gfx_tex_info 2015-07-12 04:16:40 +02:00
twinaphex 527c0c29d4 Rename gl_coords to gfx_coords 2015-07-12 03:57:06 +02:00
twinaphex 4c9077568d Shorten some variables 2015-07-10 19:17:26 +02:00
twinaphex e74e402cdc More C89 build fixes 2015-06-30 14:37:11 +02:00
Alcaro febcbc5ce4 C89 cleanups part 2 2015-06-26 17:48:43 +02:00
twinaphex 682867b9a1 MAX_SHADERS should only be defined in gl_common.h 2015-06-22 21:09:18 +02:00
twinaphex bc592859cc Cleanups 2015-06-15 06:01:54 +02:00
twinaphex 44e3d840c5 (shader_gl_cg.c) use hashes 2015-06-15 05:09:01 +02:00
twinaphex 40f8fabda6 Consistency in how we treat positive strcmp matches 2015-06-14 19:56:01 +02:00
twinaphex 43c8f282db (Gfx) Cleanups 2015-06-13 02:10:06 +02:00
twinaphex 7fbbac544e Some C89 build fixes 2015-04-12 19:29:38 +02:00
twinaphex 16b7b454a9 Move gl_common.c to gfx/drivers 2015-04-09 04:57:17 +02:00
twinaphex 09c481342b Turn gl_ff_vertex/gl_ff_matrix into functions 2015-03-30 02:59:39 +02:00
twinaphex 5d0815a7b7 Rename video_driver_resolve to video_driver_get_ptr 2015-03-21 23:46:49 +01:00
twinaphex 2409da4afe global_get_ptr update pt. 3 2015-03-21 05:55:31 +01:00
twinaphex 3670ef2ac5 Go through driver_get_ptr to grab pointer to driver struct 2015-03-18 19:40:00 +01:00
twinaphex b9a17d0d05 (PS3) Take out hacky hack HAVE_GCMGL ifdefs 2015-03-05 14:26:34 +01:00
twinaphex 2f63b75697 Move rewind state variables in struct 2015-02-16 18:09:00 +01:00
twinaphex ceb09648eb Change to ssize_t 2015-02-16 03:46:27 +01:00
twinaphex 935b112a11 Refactor read_file 2015-02-16 03:31:37 +01:00
twinaphex ae573dcdb8 Backport Lioncash' memory leak fixes 2015-01-27 15:35:31 +01:00
twinaphex da88bcdd91 Rename gfx_shader* to video_shader* 2015-01-19 21:24:08 +01:00
twinaphex b0548e1329 Properly namespace video_shader_parse.c functions 2015-01-19 21:09:39 +01:00
twinaphex 2dfc1883f0 Rename driver_video_resolve 2015-01-19 04:22:49 +01:00
twinaphex 46402deb04 Use PATH_MAX_LENGTH instead of PATH_MAX.
Refactor OSX settings menu code somewhat
2015-01-17 05:47:52 +01:00
twinaphex 058900ac9f Rename shader_parse.c to video_shader_parse.c 2015-01-12 23:42:50 +01:00
twinaphex 64411558eb Rename gfx/shader/ to gfx/drivers_shader 2015-01-12 22:23:48 +01:00