Commit Graph

36 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
Rolando Caloca
2187f16734 UE4 - hlslcc - Pack matrices last to avoid big set parameter calls (UE-2047)
[CL 2483441 by Rolando Caloca in Main branch]
2015-03-18 15:32:09 -04:00
Rolando Caloca
be71ff1af5 UE4 - hlslcc - Reduce memory leaks (missing Linux libs)
#codereview Dmitry.Rekman

[CL 2473774 by Rolando Caloca in Main branch]
2015-03-10 10:40:42 -04:00
Rolando Caloca
6868525794 UE4 - hlslcc - Cleanup parser state & change hlslcc entry point to be a class in prep for moving to the Engine (missing Linux libraries)
odereview Dmitry.Rekman

[CL 2471354 by Rolando Caloca in Main branch]
2015-03-06 13:09:36 -05:00
Rolando Caloca
039d450e74 CCT - Compile fix
[CL 2469450 by Rolando Caloca in Main branch]
2015-03-04 17:46:53 -05:00
Rolando Caloca
c0f0eeb9f7 CCT - Move allocator to HlslUtils
- Add interpolation modifiers
- Ignore #pragma
- Fix for strings in attributes
- Do translation units separately

[CL 2469349 by Rolando Caloca in Main branch]
2015-03-04 17:00:58 -05:00
Marc Audy
5a9d2471d9 Fix shadowed variables
[CL 2456886 by Marc Audy in Main branch]
2015-02-23 16:18:13 -05:00
Rolando Caloca
1ae8890fab CCT - Support for uniform token
[CL 2456081 by Rolando Caloca in Main branch]
2015-02-23 09:53:19 -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
Marc Audy
e5ba044eb0 Fix shadowed variables
[CL 2451810 by Marc Audy in Main branch]
2015-02-19 12:13: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
Rolando Caloca
001c6a1bd1 UE4 - HlslParser
- AST classes
- Uses linear/tape allocator with 1 MB pages
- Passed 40k shader files!

[CL 2386038 by Rolando Caloca in Main branch]
2014-12-11 15:49:40 -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
a959ca57ae UE4 - HlslParser - numeric expressions AST
[CL 2360403 by Rolando Caloca in Main branch]
2014-11-14 14:08:41 -05:00
Rolando Caloca
17c3eef34e UE4 - HlslParser
- Added ExpressionList parser
- Split out unary operator parsing

[CL 2360189 by Rolando Caloca in Main branch]
2014-11-14 11:33:43 -05:00
Rolando Caloca
5ed74b36c2 UE4 - HlslParser prep changes
[CL 2355271 by Rolando Caloca in Main branch]
2014-11-10 18:29:45 -05:00
Rolando Caloca
40dc90c120 UE4 - HlslParser - 99% compliant
[CL 2352287 by Rolando Caloca in Main branch]
2014-11-07 09:45:40 -05:00
Rolando Caloca
ebd19fccee UE4 - HlslParser
[CL 2348754 by Rolando Caloca in Main branch]
2014-11-04 14:12:02 -05:00
Michael Trepka
78ef2936af Fixed Clang compile errors in SCW
#codereview Rolando.Caloca

[CL 2347413 by Michael Trepka in Main branch]
2014-11-03 15:49:51 -05:00
Rolando Caloca
4ca487cbb0 UE4 - Hlsl parser; precedence operator expression parser
[CL 2347171 by Rolando Caloca in Main branch]
2014-11-03 11:36:09 -05:00
Marc Audy
350c2bd540 Fix variable shadowing
[CL 2331786 by Marc Audy in Main branch]
2014-10-16 12:38:18 -04:00
Rolando Caloca
65fab3b420 UE4 - Hlsl Lexer (not used)
[CL 2327182 by Rolando Caloca in Main branch]
2014-10-13 10:21:46 -04:00
Rolando Caloca
88ff3983ea UE4 - Revert CCT
[CL 2313607 by Rolando Caloca in Main branch]
2014-09-29 18:57:21 -04:00