- 01 Feb, 2018 1 commit
-
-
Alexis Hetu authored
Fragment output layout qualifiers may contain location, which was currently ignored by SwiftShader. Pre-declared fragment outputs that have a valid location at the correct location within the fragmentOutputs array to solve this. Fixes all failures in WebGL 2 tests: all/deqp/functional/gles3/fragmentoutput/* Change-Id: I30e004449fb90713984b3481abb24c5d0cd6e867 Reviewed-on: https://swiftshader-review.googlesource.com/16788Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 31 Jan, 2018 1 commit
-
-
Alexis Hetu authored
Updated Flex version from 2.6.0 to 2.6.4 and regenerated files. Change-Id: I7bae30e1f0e1dc16de2bc27f908a1114449d756c Reviewed-on: https://swiftshader-review.googlesource.com/16768Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 26 Jan, 2018 5 commits
-
-
Nicolas Capens authored
VertexProgram and PixelProgram always have a shader. Bug chromium:805881 Change-Id: I0a27b4e7a0bc0ae591d89eb295e215bd421416fb Reviewed-on: https://swiftshader-review.googlesource.com/16749Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug chromium:805881 Change-Id: I2729fd81dbf2ac40bcfb5a0781cf57daefc4f75a Reviewed-on: https://swiftshader-review.googlesource.com/16748Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
The types can differ for many opcodes where the right-hand side is a constant, and this assert isn't that useful, so just remove the opcode checks. Bug chromium:805881 Change-Id: Ibcbda5123aaeaaf5753732d7cad4b5a3b331e963 Reviewed-on: https://swiftshader-review.googlesource.com/16730Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug chromium:805881 Change-Id: I4b63d6415e87f32cc1402649486b2e4d821db546 Reviewed-on: https://swiftshader-review.googlesource.com/16729Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Also replace some extension enums with core ones. Bug chromium:805881 Change-Id: I80a9b658fb8dda9c759c4d79b89fbe71b8b91ae1 Reviewed-on: https://swiftshader-review.googlesource.com/16728Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 25 Jan, 2018 2 commits
-
-
Peter Collingbourne authored
This fixes a build issue when building with libc++ on Windows. Bug: chromium:801780 Change-Id: I8fa84cefa272c2f3b096b2aada793192a47cc0e3 Reviewed-on: https://swiftshader-review.googlesource.com/16468Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Peter Collingbourne <pcc@google.com>
-
Peter Collingbourne authored
libc++ uses a predefined macro to control whether to use exceptions, so defining this macro is unnecessary. Defining _HAS_EXCEPTIONS to 0 also breaks libc++ because it depends on MSVC headers that only provide certain declarations if _HAS_EXCEPTIONS is 1. Bug: chromium:801780 Change-Id: I0d0c04e55e1e91c3ce7fe90d15b55de0cd7a21ac Reviewed-on: https://swiftshader-review.googlesource.com/16688Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Peter Collingbourne <pcc@google.com>
-
- 24 Jan, 2018 1 commit
-
-
Alexis Hetu authored
We previously had UNIFORM_BUFFER_OFFSET_ALIGNMENT set to 1. That value was arbitrary, and WebGL expects that value to be 4, so I made the change. Fixes WebGL 2 test: deqp/functional/gles3/negativebufferapi.html Change-Id: I7ab654cce629ac2a5dffc9a9d3bff3c1fb1ec8c7 Reviewed-on: https://swiftshader-review.googlesource.com/16608Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 18 Jan, 2018 2 commits
-
-
Sergey Ulanov authored
With this change SwiftShader is buildable for Fuchsia. Integration with Mozard for EGL will be implemented in a separate CL. Bug: chromium:800951 Change-Id: I60160c91aecaa6cdc6b07de688ff54b686613ab3 Reviewed-on: https://swiftshader-review.googlesource.com/16148Tested-by:
Sergey Ulanov <sergeyu@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
We were using the effective sized internal format as the upload format of glTexImage*() calls. This caused issues when using e.g. GL_RGBA16F with GL_RGBA / GL_FLOAT. Change-Id: I2dbd7142447c5330eec1895b1a9652ac20f8414a Reviewed-on: https://swiftshader-review.googlesource.com/16448Tested-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Lingfeng Yang <lfy@google.com> Reviewed-by:
Lingfeng Yang <lfy@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 17 Jan, 2018 2 commits
-
-
Nicolas Capens authored
With OpenGL ES 3.0 now fully supported, this will help discern between older and newer builds. Change-Id: I2506d09cf8c9bc59e3c60918ce3d758b0f20586a Reviewed-on: https://swiftshader-review.googlesource.com/16409Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Linux builds can assume to use X11, except if it's Android. Change-Id: I1dc11b5fea73f198ea63d39ca924e95c1d150336 Reviewed-on: https://swiftshader-review.googlesource.com/16408Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 16 Jan, 2018 3 commits
-
-
Alexis Hetu authored
Stencil formats were prohibited from createDepthStencilSurface in debug builds due to an assert, so fixed the assert. Change-Id: I5777a081371be4f43810de4450b415c55f04a8d7 Reviewed-on: https://swiftshader-review.googlesource.com/16348Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
dEQP requires a stack depth of at least 33 for all tests to pass. Since the stack depth in swiftshader is arbitrary and doesn't actually depend on hardware, the maximum stack depth was increased from 16 to 64. Also added a bit of log info to make debugging easier. Fixes 2 dEQP tests: dEQP-GLES3.performance.compiler.optimization.function_inlining.32_nested_* Change-Id: I95ae335977d4eb3b21a54296b7fc5e6019595e66 Reviewed-on: https://swiftshader-review.googlesource.com/16328Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
glGetFragDataLocation() should only query fragment output varyings. Also fix checking for too many varyings. Change-Id: I0981fb69a28762b6d41a22e0544d63c76510000c Reviewed-on: https://swiftshader-review.googlesource.com/16209Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 15 Jan, 2018 1 commit
-
-
Alexis Hetu authored
Chrome tests apparently require these now, so implement these to avoid Linux (debug) related crashes. Change-Id: I603e69eeee166affaf6d456039d75b71d33c3914 Reviewed-on: https://swiftshader-review.googlesource.com/16329Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 12 Jan, 2018 2 commits
-
-
Alexis Hetu authored
Added mix implementation with a bvec as a 3rd argument, which is basically a select. Fixes 18 failures in dEQP-GLES3. Change-Id: Ifaf4a27e1a25fbaad979a7d26ad4a424631acd08 Reviewed-on: https://swiftshader-review.googlesource.com/16288Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Exposing "GL_APPLE_texture_format_BGRA8888" fully enables BGRA8 in Chromium and it seems like SwiftShader isn't properly supporting it yet, so removing the string for now in order to do the DEPS roll. Change-Id: I72f57899b820c22ac76a59b0b7a5e3d2a920e2b3 Reviewed-on: https://swiftshader-review.googlesource.com/16268Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 11 Jan, 2018 3 commits
-
-
Nicolas Capens authored
We are now passing all of dEQP-GLES3 mustpass tests. Change-Id: I98a4e57c4cf90a3b193e220e75a97b9657c746e7 Reviewed-on: https://swiftshader-review.googlesource.com/16208Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Varyings and in/out variables that are passed between shader pipeline stages are verified to have matching types at link-time, even when only statically referenced (this includes trivially optimized out branches) or even just declared. GLSL ES 3.00 - 4.3.10 Linking of Vertex Outputs and Fragment Inputs Change-Id: I122b1cdcc4630c86a8ebfb4d4e37f3a7a335afbe Reviewed-on: https://swiftshader-review.googlesource.com/16070Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
exp2(x) should be exact for integer values of x. For example exp(1.0) should produce 2.0. Change-Id: I9d6d1d388c23e813e09b7b5788c929ff07189357 Reviewed-on: https://swiftshader-review.googlesource.com/16188Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 10 Jan, 2018 8 commits
-
-
Alexis Hetu authored
BGRA8 was missing from the list of valid internal formats Change-Id: Id5c08267e04cefaf621edecb963d65a45d40e041 Reviewed-on: https://swiftshader-review.googlesource.com/16128Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
GL_APPLE_texture_format_BGRA8888 is similar to GL_EXT_texture_format_BGRA8888 but explicitly mentions texture storage support for OpenGL ES 3.0. It adds the format as texture-only (i.e. non-renderable), but GL_EXT_texture_format_BGRA8888 makes it color- renderable. Also allow a sized internalformat of GL_BGRA8_EXT. Previously we were only allowing unsized internalformat GL_BGRA. Change-Id: Ieb3a4f85847035392445d0a924591f5531e424d9 Reviewed-on: https://swiftshader-review.googlesource.com/16069Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
BGRA support was removed in recent refactoring, since no dEQP must pass test required it, but Chrome still requires it. Change-Id: I638adce7dfeeaf85bb1f6d9889103fb4fde26d96 Reviewed-on: https://swiftshader-review.googlesource.com/16068Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
We were previously already detecting when a variable name was redefined as a function, but not the inverse. The fix involves inserting the unmangled function name into the symbol table. Change-Id: I0efd1309d45f004c8d1c5ceb864e08c2ebe22f1d Reviewed-on: https://swiftshader-review.googlesource.com/16048Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Bug swiftshader:94 Change-Id: I4214270b4ee0dad3f13a8e1556ce0c6366bb045b Reviewed-on: https://swiftshader-review.googlesource.com/16029Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Change-Id: I1b3a4bb977ea5d311be6af9b6b8f04235b002dbe Reviewed-on: https://swiftshader-review.googlesource.com/16028Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Multisampled lines should be rasterized as rectangles, even when we don't support wide lines (i.e. they are one pixel wide). Change-Id: I4960ea7347f826b3af1ff6830ebde46d3065aea9 Reviewed-on: https://swiftshader-review.googlesource.com/16008Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Recently added depth formats were not recognized and caused an assert. Change-Id: Ide1c783f183770d40673051ccd48b3f8e689f8db Reviewed-on: https://swiftshader-review.googlesource.com/15969Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 09 Jan, 2018 7 commits
-
-
Alexis Hetu authored
Removed a conversion to integer which was removing all subpixel precision from coordinates when using clampToEdge. Passes all out of bounds cases (this cl should only affect these cases). Fixes: dEQP-GLES3.functional.fbo.blit.default_framebuffer.srgb8_alpha8_linear_out_of_bounds_blit_from_default Change-Id: Id7cef212ea2b739ef22148779dbc1228628e4440 Reviewed-on: https://swiftshader-review.googlesource.com/15988Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Fixed sRGB filtering by performing the conversion pre-filtering when appropriate. Change-Id: Id24898feed7e9a7dadff45431198771af25efed7 Reviewed-on: https://swiftshader-review.googlesource.com/15409Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Uniforms and varyings structures were simply validating that both versions in fragment and vertex shaders were structures, without validating that the fields actually matched. All the structures and data required to perform the validation at link time was added. Fixes: dEQP-GLES3.functional.shaders.linkage.uniform.struct.type_conflict_1 Change-Id: Icbf888bbebf4ccf7d27f48cb98d4cd7ea5b42ca3 Reviewed-on: https://swiftshader-review.googlesource.com/15848Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
The break 'depth' was used to indicate the number of if/else execution enable mask's stack levels we need to discard when jumping from a break statement to its enclosing switch or loop. However, each switch and loop resets this depth at the end, which isn't correct for nested loops and/or switches (note that switches contain if/else statements, and loops use the same 'enable' masks as if/else). This can be fixed either by using a stack to keep track of the break depths of nested switch/loop statements, or by simply not jumping directly from the break statement to the end of it's enclosing switch or loop. The latter fix was chosen for this change, which assumes that that it's uncommon for all vector lanes to become disabled at the break statement and skip many instructions. An important exception to this is breaking out of an infinite or long-running loop, but this is handled by checking the break enable mask as part of the loop condition. Change-Id: I57d2e03941e855faefd997442931ff8619eca73f Reviewed-on: https://swiftshader-review.googlesource.com/15968Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Switch statements and loops should not reset the execution enable mask to all lanes at the end, because they can be nested. Instead we can just restore them to the mask value before the switch/loop. Change-Id: I4089cbf637c28f39a536de1e68e2e513ead1ec7f Reviewed-on: https://swiftshader-review.googlesource.com/15908Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
The 'enable' execution mask for if/else, which is also used by loops, was not being applied to predicate the instructions within a loop. Bug b/28710510 Change-Id: Ibd8e962ef60de76ec1c018ca064a791abf214c94 Reviewed-on: https://swiftshader-review.googlesource.com/15948Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Switch statements were resetting the 'enable' execution mask stack to all lanes, which caused us to execute the switch operations even for lanes that were already done looping. Change-Id: Ie5a525e8de8d5e61d4c61bcee81bd81fa862d917 Reviewed-on: https://swiftshader-review.googlesource.com/15828Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 05 Jan, 2018 2 commits
-
-
Alexis Hetu authored
This cl adds validation that uniform block instance names aren't reserved names. Fixes 2 tests: dEQP-GLES3.functional.shaders.uniform_block.invalid.invalid_identifier_instance_name_* Change-Id: I4a39c734cdf4d11ea4221c73c1f639fa2f56921d Reviewed-on: https://swiftshader-review.googlesource.com/15868Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Removed early return on source rectangle validation, in order to allow out of bounds coordinates as an input to the blitter. Fixes 31 *out_of_bounds* failures in: dEQP-GLES3.functional.fbo.blit.default_framebuffer Also fixes 3 scissored blit failures in: dEQP-GLES3.functional.fragment_ops.scissor Change-Id: I0751678153aa0fc58bb7aa3a0270c358efb61330 Reviewed-on: https://swiftshader-review.googlesource.com/15388Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-