Commit Graph

729 Commits

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