Commit Graph

19 Commits

Author SHA1 Message Date
Dan Oconnor
ef0a21289e PVS-Studio detected that if (BufferIndex != FRHIResourceTableEntry::GetEndOfStreamToken()) will always return true because BufferIndex is 16bit and GetEndOfStreamToken returns a 32bit constant that is out of range of a 16bit integer.
#codereview Rolando.Caloca

[CL 2507336 by Dan Oconnor in Main branch]
2015-04-09 17:01:04 -04:00
Marc Audy
5a9d2471d9 Fix shadowed variables
[CL 2456886 by Marc Audy in Main branch]
2015-02-23 16:18:13 -05:00
Dmitry Rekman
f04facc52b Added location for Linux CCT and got rid of preprocessor usage.
#codereview Mark.Satterthwaite, Rolando.Caloca

[CL 2455685 by Dmitry Rekman in Main branch]
2015-02-22 19:58:52 -05:00
Mark Satterthwaite
83ad7e246f Implemented desktop OpenGL support for GL_ARB_separate_shader_objects without requiring any additional shader platforms to reduce shader compile/link hitches.
- Shaders which emit layout location data use INTERFACE_LOCATION & INTERFACE_BLOCK macros to defer to the runtime whether they can be used as separable or non-separable shaders.
- The runtime supplies the correct #define for each so that the shaders still work on platforms where the glLinkProgram implementation fails with separable shader code.
- Shader model 5 platforms (GLSL 430 or ES 3.10) which were already specifying & using layout location data continue to do so, even when using glLinkProgram.
- The 'OpenGL.UseSeparateShaderObjects' console variable allows switching between SSO/Link modes between executions, but not dynamically at runtime.
- Only defaults to on for Mac as that is the only platform which can guarantee that the extension is always available & so far the most tested platform.
- Updated hlslcc binaries are supplied for Mac, Linux & Windows.
- Added an OpenGL RHI stat for shader first draw time so that it is easy to see why hitches occur during runtime due to in-driver shader compilation.

reviewedby michael.trepka, nick.penwarden, dmitry.rekman, rolando.caloca

[CL 2435530 by Mark Satterthwaite in Main branch]
2015-02-06 11:35:30 -05:00
Rolando Caloca
8930d785bf UE4 - Fix shader preprocessor replacing #include "Material.usf" to #include "Material_usf"
#codereview Daniel.Wright

[CL 2404061 by Rolando Caloca in Main branch]
2015-01-12 18:28:54 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Rolando Caloca
9f5d0ad887 UE4 - Fix location of CCT
[CL 2364007 by Rolando Caloca in Main branch]
2014-11-18 17:09:37 -05:00
Rolando Caloca
88ff3983ea UE4 - Revert CCT
[CL 2313607 by Rolando Caloca in Main branch]
2014-09-29 18:57:21 -04:00
Rolando Caloca
97934ea3d5 UE4 - CCT fixes
[CL 2313192 by Rolando Caloca in Main branch]
2014-09-29 14:31:38 -04:00
Rolando Caloca
6fe4bbba18 UE4 - refix the compiler bug
[CL 2312991 by Rolando Caloca in Main branch]
2014-09-29 11:35:54 -04:00
Rolando Caloca
c832f794b7 UE4 - Fix shader cooker issue
[CL 2312987 by Rolando Caloca in Main branch]
2014-09-29 11:35:28 -04:00
Rolando Caloca
941da65c63 hlslcc - Move hlslcc interface out of each shader format and into ShaderCompilerCommon module
- Delete hlslcc exe files (not needed anymore)

[CL 2312870 by Rolando Caloca in Main branch]
2014-09-29 10:10:28 -04:00
Rolando Caloca
e3fd63ec34 UE4 - Move glsl backend out of ThirdParty into ShaderFormatOpenGL
[CL 2310098 by Rolando Caloca in Main branch]
2014-09-25 14:27:21 -04:00
Rolando Caloca
95e0ed4435 UE4 - CCT now writes out source
[CL 2309773 by Rolando Caloca in Main branch]
2014-09-25 10:31:22 -04:00
Max Preussner
121fccd2ab Code and documentation cleanup pass
- removed dummy UClasses (no longer needed)
- removed file header comments (not used)
- removed duplicated function documentation in cpp files
- documentation cleanup, punctuation, spelling etc.
- pragma once include guards (now work on all platforms)
- relative public includes (are auto-discovered by UBT)
- fixed too many/too few line breaks
- deleted empty files
- missing override
- NULL to nullptr

[CL 2305058 by Max Preussner in Main branch]
2014-09-21 20:35:48 -04:00
Rolando Caloca
14cc8f09a3 UE4 - Integrate
- Addes 3_1 define on shaders
- Fixes GL packed uniforms array size incorrect assert
- Disallows running the editor with -featureleveles2
- r.MobileHDR is now read-only
- Moved some checks from SM3 to SM4

[CL 2270866 by Rolando Caloca in Main branch]
2014-08-25 14:41:54 -04:00
Rolando Caloca
bbde2c74a9 hlslcc - Handle spaces in paths
[CL 2122593 by Rolando Caloca in Main branch]
2014-06-30 18:38:10 -04:00
Rolando Caloca
b694adc81c UE4 - hlslcc - DumpShaderInfo now outputs a better batch file for running the cross-compiler (and it's shared with GL & Metal)
[CL 2122582 by Rolando Caloca in Main branch]
2014-06-30 18:32:57 -04:00
Gil Gribb
fa7226b8fe UE4 - merge first pass at parallel rendering to main
[CL 2095959 by Gil Gribb in Main branch]
2014-06-05 16:38:54 -04:00