Commit Graph

367 Commits

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