src/libGLESv2/renderer/d3d/DynamicHLSL.cpp


Log

Author Commit Date CI Message
Jamie Madill 55d611e7 2014-10-24T16:28:14 Fix ASSERT failure in XFB test. With the invariant handling changes, we're also exporting gl_Position and other builtin variables from the translator where we were not previously. This was causing an assert in the XFB code, where we would inadvertently assign a register to gl_Position, and trip up logic further in the varying handling logic. BUG=angle:808 Change-Id: I674902da75c572e969f9516033a85c7a7170d7d1 Reviewed-on: https://chromium-review.googlesource.com/225261 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Austin Kinross af875527 2014-08-25T21:06:07 Improve D3D11 varying packing when there are more varyings than registers. BUG=angle:738 Change-Id: I0599840fc79d571230acf26105d512322bcffdcd Reviewed-on: https://chromium-review.googlesource.com/214108 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5ac5ae86 2014-09-09T10:14:17 Move assertion into if-block. Since the loop always goes up to MAX_VERTEX_ATTRIBS, the ASSERTION may be triggered even though no more attributes are enabled. BUG=angle:740 Change-Id: I2bb30d7e9f426ae1a0b8250e65c1fd02107973ac Reviewed-on: https://chromium-review.googlesource.com/217027 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f6be8d7c 2014-09-05T10:38:07 Fix typo in "PixelShaderOuputVariable". Change-Id: I2b223c9b80faa3ff2a0f94bd52ca73edf3d67cf7 Reviewed-on: https://chromium-review.googlesource.com/216273 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 3f2e61de 2014-09-05T10:38:05 Enable MRT pixel shader rewriting. Writing to all 8 pixel outputs was causing performance problems on Intel and AMD. Enabling Geoff's work to rewrite our pixel shaders solves the regression. This patch also includes a workaround to the nVidia driver bug where it would ignore NULL RT values in OMSetRenderTargets, by compacting the RT list to skip NULL values. BUG=angle:705 BUG=365078 Change-Id: Ia68af6f0ccd5f10c484d6f76297a0bec694948f0 Reviewed-on: https://chromium-review.googlesource.com/214852 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 54ad4f81 2014-09-03T09:40:46 Use the CollectVariables path on the HLSL translator. This approach consolidates our two methods, and lets us reuse the same code for both methods of variable collection. BUG=angle:466 Change-Id: Ie92f76ff0b6d0d0dbfd211a234d0ab86290fa798 Reviewed-on: https://chromium-review.googlesource.com/213504 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>
Jamie Madill 2ad1dc48 2014-09-03T09:40:45 Compact the D3D shader specializations into one. BUG=angle:731 Change-Id: I4f35a05aeea130f9011ec62cfe931ed23e2681c9 Reviewed-on: https://chromium-review.googlesource.com/214871 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill d15250e6 2014-09-03T09:40:44 Move shader variables into the base impl. These variable types apply across shader types. Either we'll want a way to cache them after we query them, or we'll do a pre-parse pass similar to our current Chromium GLSL to GLSL pre-pass where we store the variables in ANGLE. In either case, they're shared across GL implementations so make sense as queries from gl::Shader. BUG=angle:731 Change-Id: I23f5541423abb4af87a2bc2fc1e9f4047fd2ff90 Reviewed-on: https://chromium-review.googlesource.com/214870 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 3a61c321 2014-07-10T13:01:54 Add caps for the aggregate shader limits from table 6.33. BUG=angle:658 Change-Id: I59d0cd131114fcb925f01d83d218a657f4498a2a Reviewed-on: https://chromium-review.googlesource.com/207375 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 0b7eef7c 2014-06-12T14:10:47 Removed common_includes.h reordered includes. Since we are not using precompiled headers anymore, remove common_includes.h so that fewer files are included in cpp files. Reordered includes to be in the following order: 1) Local ANGLE project headers, ordered by directory in descending depth 2) GL headers 3) STL headers This helps enforce the include-what-you-use principal by reducing the number of STL headers unexpectedly shared between files. This include order conflicts with some of the Google c++ style guide which states that STL includes should be first but this helps us catch more issues. Change-Id: I8f7785f4ad574e253dd3c7b4fb1e54d3ce3b99fc Reviewed-on: https://chromium-review.googlesource.com/214850 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Brandon Jones d8d72434 2014-08-22T15:11:23 Moved DynamicHLSL into renderer/d3d Obviously D3D-only class is obvious. :) BUG=angle:731 Change-Id: Ide54e76a8b9bacb9b6834e2cb0a801140eecfe46 Reviewed-on: https://chromium-review.googlesource.com/213862 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Brandon Jones <bajones@chromium.org>