src/compiler


Log

Author Commit Date CI Message
Jamie Madill 570e04d8 2013-06-21T09:15:33 Add support for passing nested structs in standard layout by value. We add support for this by using global scratch values as storage for the structs in uniform blocks. Any structs in std140 layouts that are referenced by value are initialized in the shader scope, without any packing, so the type of the structs are equivalent with what a GLSL program would expect. TRAC #23327 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill e4075c9c 2013-06-21T09:15:32 Add padding to nested structs packed with standard layout, to address HLSL's more liberal packing rules. TRAC #23327 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill c835df68 2013-06-21T09:15:32 Add support for structs in uniform blocks with standard layout. TRAC #23327 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Nicolas Capens fb50dff0 2013-06-24T16:16:23 Implemented 2D array sampler HLSL translation. TRAC #23377 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 8772b588 2013-06-24T16:14:19 Support sampler2DArray throughout the compiler. TRAC #23377 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens fc2e6b90 2013-06-24T16:13:26 Add 2D array samplers to the lexer/parser. TRAC #23377 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens eceb50d3 2013-06-19T13:37:17 Add array texture intrinsics to the symbol table. TRAC #23377 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens f4cb0e12 2013-06-24T16:11:36 Fix unconditionally supporting derivative functions in ES3. TRAC #23377 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens e0ba27a2 2013-06-24T16:10:52 Construct texture functions from stored characteristics. TRAC #23377 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 9fe6f984 2013-06-24T16:05:25 Implemented 3D sampler HLSL translation. TRAC #23365 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens da07535f 2013-06-24T16:02:56 Support sampler3D throughout the compiler. TRAC #23365 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 28043ba7 2013-06-24T16:01:53 Add 3D samplers to the lexer/parser. TRAC #23365 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 73f5bf61 2013-06-17T16:13:33 Add 3D texture intrinsics to the symbol table. TRAC #23365 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens e27c1c3b 2013-06-17T16:47:25 Fixed texture2DProjLod for DX11. TRAC #23360 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 075368e3 2013-06-24T15:58:30 Implemented unsigned integer sampler HLSL translation. TRAC #23360 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 2ffe0bbe 2013-06-24T15:56:19 Support usampler throughout the compiler. TRAC #23360 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 9e3a3f43 2013-06-24T15:54:32 Add unsigned integer samplers to the lexer/parser. TRAC #23360 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 8613229e 2013-06-17T15:50:23 Add unsigned integer texture intrinsics to the symbol table. TRAC #23360 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 1f1a833d 2013-06-24T15:42:27 Implemented integer sampler HLSL translation. TRAC #23359 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 344e7142 2013-06-24T15:39:21 Support isampler throughout the compiler. TRAC #23359 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens d273c273 2013-06-24T15:36:48 Add integer samplers to the lexer/parser. TRAC #23359 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 9363246a 2013-06-17T14:10:38 Add integer texture intrinsics to the symbol table. TRAC #23359 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
alokp@chromium.org ae829e31 2013-05-06T19:14:11 We don't need to keep the param variable around for function prototypes. Saves 20% memory for global symbol initialization R=alokp@chromium.org Review URL: https://codereview.appspot.com/9152043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@2196 736b8ea6-26fd-11df-bfd4-992fa37f6226
Jamie Madill 574d9dd0 2013-06-20T11:55:56 Add support for std140 uniform block layout for basic types. This support does not include structures. TRAC #23083 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 919b066a 2013-06-20T11:55:56 For the reported std140 layout to be consistent with the spec. TRAC #23083 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 440dc749 2013-06-20T11:55:55 Redesign the code that uses block layouts to use a generic base class. The cleaner code also has the benefit of allowing us to separate the HLSL-specific parts out of the shader validator. TRAC #23083 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 1566ef70 2013-06-20T11:55:54 Add parsing for default block storage qualifiers. Also add in a missing layout qualifier error check. TRAC #23083 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill b4e664b1 2013-06-20T11:55:54 Alter array instanced uniform buffer objects to use direct references to HLSL constant buffers. This avoids using a shader scoped static storage buffer, with copies. TRAC #23299 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 529077d9 2013-06-20T11:55:54 Add support for column/row major layout qualifiers in generated HLSL. TRAC #23271 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 9cf6c070 2013-06-20T11:55:53 Refactor code for generating structure strings to a separate function. This could fix a potential regression, which might define structs multiple times in generated HLSL. TRAC #23271 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 010fffa8 2013-06-20T11:55:53 Pass matrix packing qualifier data back from the shader translator to the GLES API. TRAC #23271 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 099c0f33 2013-06-20T11:55:52 Add parsing support for global and interface block scoped matrix packing qualifiers. TRAC #23271 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 0bd18dfb 2013-06-20T11:55:52 Enforce shader input and output variables with a specified location to be single declarations. This prevents using in and out qualifiers on multiply declared vertex inputs and fragment outputs. TRAC #23311 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 502d66f6 2013-06-20T11:55:52 Move the parsing of declarator lists into the ParseHelper. TRAC #23311 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill defb674a 2013-06-20T11:55:51 Add a new path for querying active attributes from the shader translator, for use with layout qualifier support. TRAC #23269 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill
Jamie Madill 46131a38 2013-06-20T11:55:50 Proper support for fragment output variables for GLSL ES shader version 300. TRAC #22704 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill 05a80ceb 2013-06-20T11:55:49 Validate fragment shader outputs and produce a compile error on missing or conflicting assignments. TRAC #22704 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Nicolas Capens 49a8887b 2013-06-20T09:54:03 Initialize the symbol table without invoking the parser. TRAC #23359 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens bd10cf55 2013-06-20T09:51:51 Assign unique id's to symbols inserted directly into a symbol table level. TRAC #23359 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Jamie Madill 51a53c7b 2013-06-19T09:24:43 Properly report error when layout qualifiers are specified outside uniform blocks. TRAC #23357 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang Authored-by: Jamie Madill
Jamie Madill 53950a29 2013-06-18T17:40:12 Delete a "rej" file that was accidentally committed. This was a relic from a preliminary lexer 64-bit compliance patch. TRAC #23158 Authored-by: Jamie Madill
Jamie Madill 62431836 2013-06-10T11:44:28 Fix API reported packing rules for matrices and arrays in shared layout to be consistent with HLSL. HLSL does not round up the final array/matrix block to the register alignment, allowing for more compact order. TRAC #22856 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill 52660ffc 2013-06-07T14:11:09 Fix alignment of HLSL packed structs in interface blocks. TRAC #22856 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill a295edfc 2013-06-06T11:56:48 Add parsing (but not full support) for global default layout qualifiers for block storage and matrix packing. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill a5efff99 2013-06-06T11:56:47 Redesign layout qualifier parsing to be simpler and more storage efficient. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill 60ed9810 2013-06-06T11:56:46 Move the parsing of single declarations into TParseContext. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill 6c23946c 2013-06-06T11:56:45 Properly recognize error cases for 'centroid out' and 'centroid in'. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill b120eac2 2013-06-12T14:08:13 Update the shader translator to use new enums for ES3 shader vertex input and fragment outputs. This fixes many corner cases and error messages with ES3 syntax. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill f8dc4fb6 2013-05-24T16:34:06 A special state to track field selection is not necessary. Identifier is sufficient to parse struct fieldname. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2195 Review URL: https://codereview.appspot.com/8709048
Jamie Madill 39a8ce6b 2013-06-13T10:30:38 Lexer does not need to handle unknown-char case. It is handled by the preprocessor. Added an assert. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2194 Review URL: https://codereview.appspot.com/8653052
Jamie Madill 96de824e 2013-05-24T16:34:05 Lexer does not need a state stack now that it does not handle comments. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2193 Review URL: https://codereview.appspot.com/8983043
Jamie Madill 78eb5dfb 2013-05-24T16:34:05 Robust distinction between IDENTIFIER and TYPE_NAME tokens. To distinguish the tokens we used to track the lexer context, which is fragile. This patch implements a better way - combine the two tokens into a common parser rule and let the parser context decide if the declaration is valid, which it already does by checking the naming conflicts. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2190 Review URL: https://codereview.appspot.com/8797044
Jamie Madill 7eeb9b66 2013-05-24T16:34:05 Delete dead-code for handling comments and invalid octal integers. These are already handled by the preprocessor. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2189 Review URL: https://codereview.appspot.com/8632053
Jamie Madill fe345bfd 2013-05-24T16:34:04 Deleted unnecessary TParseContext::AfterEOF. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2188 Review URL: https://codereview.appspot.com/8927045
Jamie Madill 56b06519 2013-05-24T16:34:04 Reformat tokenizer. No functional changes. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2187 Review URL: https://codereview.appspot.com/8925044
Shannon Woods b5ce077e 2013-06-12T14:05:56 Add 64bit safety patch step to generate_parser.sh scripts. TRAC #23274 Authored-by: Shannon Woods Signed-off-by: Jamie Madill Signed-off-by: Nicolas Capens
Shannon Woods eb936d0d 2013-06-12T14:05:38 Adds patch files for 64 bit safety fixes TRAC #23274 Authored-by: Shannon Woods Signed-off-by: Jamie Madill Signed-off-by: Nicolas Capens
Shannon Woods 81e93083 2013-06-12T14:05:22 Makes generate_parser.sh executable TRAC #23274 Authored-by: Shannon Woods Signed-off-by: Jamie Madill Signed-off-by: Nicolas Capens
Nicolas Capens c0f7c619 2013-06-05T11:46:09 Fix some uint handling. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens ab60b934 2013-06-05T10:31:21 Renamed UnsignedInt to UInt in the compiler. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens ba60ad36 2013-06-04T15:55:47 Eliminate unused clone/dump methods. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens
Jamie Madill 22d63dae 2013-06-07T12:45:12 Fix an improper usage of getCols, which should be getNominalSize, in unsigned int vector code. TRAC #23263 Signed-off-by: Shannon Woods Author: Jamie Madill
Jamie Madill a9f52472 2013-06-06T11:56:43 Fix matrix accessor getCols to correct getNominalSize in code that could trigger a debug assertion failure. Was breaking the ES2-CTS build test in Debug mode. TRAC #23263 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Jamie Madill
shannonwoods@chromium.org ec61db0b 2013-05-30T00:21:55 Restore 64-bit support of the GLSL lexer. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2415 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 4d20a846 2013-05-30T00:21:48 Implemented lexing support for the floating-point suffix. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2414 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 2a5436ff 2013-05-30T00:21:41 Added preprocessor support for parsing the float suffix. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2413 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 3f83e29c 2013-05-30T00:21:34 Added preprocessor support for parsing the unsigned integer suffix. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2412 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org b0757168 2013-05-30T00:21:27 Restore 64-bit support of the preprocessor tokenizer. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2411 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 298f9076 2013-05-30T00:21:17 Eliminated an unused parameter. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2410 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 302adfef 2013-05-30T00:21:06 Add partial support for parsing layout qualifiers, added in the GLES SL 3.00 spec. This allows us to run a lot of ES3 unit tests and sample apps. TRAC #23089 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2409 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org c8100b85 2013-05-30T00:20:34 Add support for unsigned integer literals in the shading language. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2405 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 8c788e8d 2013-05-30T00:20:21 Add support for unsigned integer vector types to the shader translator. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2404 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 6b709911 2013-05-30T00:20:04 Add support for the unsigned integer scalar type to the shader translator. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2403 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 1885113c 2013-05-30T00:19:54 Move the code for parsing constructor functions from the grammar to TParseContext. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2402 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 3c9d95a8 2013-05-30T00:19:46 Add unsigned integer types to the compiler ConstantUnion class. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2401 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 5703d881 2013-05-30T00:19:38 Add full integer support to the shader language. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2400 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 0f376cac 2013-05-30T00:19:23 Move logic for parsing fully specified types out of the grammar file to TParseContext. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2398 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 8da034cc 2013-05-30T00:19:15 Add non-square mat support to the shader language interface. TRAC #23081 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2397 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 50733334 2013-05-30T00:19:07 Add support for folding non-square matrix multiplications. TRAC #23081 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2396 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 9fc85b1f 2013-05-30T00:19:00 Fix up the indentation and alignment of TIntermConstantUnion::fold to be consistent with the coding style. TRAC #23081 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2395 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 9bd22fa9 2013-05-30T00:18:47 Add support for non-square matrices to the shader translator. TRAC #23081 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2394 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 09e09884 2013-05-30T00:18:25 Add a secondary size field to the shader language types, to account for matrix rows. Also add some extra logic to the promote method to check that the sizes of the arguments to multiplications are properly formed. We require this extra information for non-square matrix support. TRAC #23081 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2392 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org b7dc4038 2013-05-30T00:18:18 Refactor TIntermBinary::promote to use the required coding style. TRAC #23081 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2391 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 16242efc 2013-05-30T00:18:11 Add a helper function to the lexer to tokenize strings that can be identifiers in ES2 and are keywords in ES3. For instance, uint, or the non-square matrix keywords. TRAC #23218 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2390 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 35f156d9 2013-05-30T00:18:04 Add helper functions to the lexer to tokenize strings that have different classifications in ES2 and ES3. TRAC #23218 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2389 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 5f8d9b46 2013-05-30T00:17:57 Add support for arrays of aggregates (aka structs) in uniform blocks. TRAC #23018 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2388 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 70961b33 2013-05-30T00:17:48 Add support for structures in interface and uniform blocks. Also redesigns the uniform block layout computation to be more general. TRAC #23018 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2387 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 8ddaf5c0 2013-05-30T00:13:08 Increase the maximum token length in the preprocessor to be 1024, to comply with the GLSL ES 3 specification. TRAC #23077 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2349 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 4b8a3115 2013-05-30T00:13:01 Regenerate the preprocessor source files with the new versions of the compiler tools. Will have to be resolved with 64-bit compatible bison in the future. TRAC #23077 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2348 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org e429ab71 2013-05-30T00:12:52 Add support to the HLSL translator for arrays of named interface blocks. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2347 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 3f68bf0e 2013-05-30T00:12:43 Enable the translator to pass parsed interface blocks back to the ANGLE API via the shader translator layer. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2346 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 4430b0d3 2013-05-30T00:12:34 Add support to the GLSL to HLSL translator for interface blocks with instance names. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2345 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 4a643ae4 2013-05-30T00:12:27 Add support to the HLSL translator to output interface blocks to constant buffers, using HLSL register packing rules. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2344 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 61aaf24d 2013-05-30T00:12:20 Add logic to compute the size and offsets of interface blocks stored in shared (packed) and standard layouts. The shared layout follows the standard HLSL packing rules for optimal shader performance. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2343 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org a2ecfccc 2013-05-30T00:11:59 Moved utilities.h/cpp and mathutils.h to the shared common code folder. The HLSL translator needs to compute the sizes of various GL types for computing block layouts. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2342 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 5668c5d7 2013-05-30T00:11:48 Add support for parsing interface blocks to the shader translator. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2341 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org a9100887 2013-05-30T00:11:39 Move the logic for parsing structs and index/field selection expressions from the grammar into TParseContext. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2340 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 1500f093 2013-05-30T00:11:20 Add uniform block linking between the API, the program binary, and the compiler. TRAC #22892 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2338 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 7923dd2b 2013-05-30T00:11:04 Properly validate struct uniform linking between the vertex and pixel shaders. This also implements proper struct validation for uniform blocks. TRAC #22932 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2336 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org c796484e 2013-05-30T00:10:41 Validate allocation size in PoolAllocator. Note that I am planning to get rid of PoolAllocator entirely. BUG=crbug 179654 Review URL: https://codereview.appspot.com/8662046 git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2333 736b8ea6-26fd-11df-bfd4-992fa37f6226