|
41a49272
|
2014-03-18T16:10:13
|
|
Fixed error message for exceeding maximum struct nesting.
It got broken in r2423.
We were referring to field-name as struct-name.
This patch fixes the regression and also improves the error message
by adding the field-name.
BUG=angle:459
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/12891043
Change-Id: I9ac9a8dafcad1857f7d39e6d494e457d1fc50f70
Reviewed-on: https://chromium-review.googlesource.com/190530
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1e40d1c9
|
2014-03-18T22:41:22
|
|
Revert "Add remaining transform feedback queries."
This reverts commit 4251b75830f91df68df80a096a0713830c73b1cc.
Change-Id: I95afebcaf91ee38a121df20f403eb06f19b2510a
Reviewed-on: https://chromium-review.googlesource.com/190560
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4dfed837
|
2014-03-17T20:03:39
|
|
Validate target parameter in CopyTexImage calls before using to check mip level
Would cause UNREACHABLE to be triggered if target was invalid, and INVALID_VALUE to
be returned instead of INVALID_ENUM if it were the only erroneous argument.
Change-Id: I2606e77379fa2832a50b3a299e6474a4b2f68afa
Reviewed-on: https://chromium-review.googlesource.com/189701
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
4251b758
|
2014-02-03T14:27:56
|
|
Add remaining transform feedback queries.
BUG=angle:493
Change-Id: Ibeae41da2b83ab63d237912602ba5d2aad0bbec2
Reviewed-on: https://chromium-review.googlesource.com/185036
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
e708fc02
|
2014-03-17T10:23:18
|
|
Only use map-write instead of map-write-discard.
In D3D11, map-discard is reserved for DYNAMIC usage buffer,
which are resources that live on the GPU. Staging buffers
don't have the notion of map-discard, and using them with
discard gives a D3D11 error.
This patch fixes crashes in dEQP buffer.map.write.invalidate.
BUG=angle:587
Change-Id: Ie225e72d4e226c69e73826c9fb67bbb940bbc466
Reviewed-on: https://chromium-review.googlesource.com/190072
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0c66720a
|
2014-03-17T10:06:09
|
|
Fix unsigned integer R10G10B10A2 vertex formats.
We were incorrectly setting the signed parameter to true
in the vertex format table. This fixes a dEQP test in
vertex_arrays.output_types.
BUG=angle:586
Change-Id: I84dcdee89a95369cc8e41d451f96dbb8daa37b6d
Reviewed-on: https://chromium-review.googlesource.com/190056
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a53ab517
|
2014-03-17T09:47:44
|
|
Fix linking of struct varyings.
The dEQP varying struct linkage tests were triggering
asserts when we tried to query component info of struct types.
BUG=angle:580
Change-Id: I61e33573c5577a327c58fec7a07ae7718690ac42
Reviewed-on: https://chromium-review.googlesource.com/189194
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3b7e205c
|
2014-03-17T09:47:43
|
|
Fix matrix input attributes and formats.
We can't assume we have a simple mapping between input attribs
and shader attribs. The app specifies matrix input attribs as
several vector inputs, while the shader uses a single matrix type.
BUG=angle:576
Change-Id: I4e3cdde4a14a5f06b86052dfe0325113cbe8e599
Reviewed-on: https://chromium-review.googlesource.com/189193
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4d161bad
|
2014-03-17T18:13:30
|
|
Amends CopyTexImage validation to conform to new language in the ES 3.0.3 spec.
bug=angle:582
Also performs format checks for non-subimage copies, and permits unsized format
textures as destination for the copy.
Change-Id: Id647bb968416fbd35e1c70e5da21c81367e08f07
Reviewed-on: https://chromium-review.googlesource.com/189431
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
626d54e8
|
2014-02-07T14:24:12
|
|
Disable MRT support when using D3D10 feature levels.
D3D10 cards perform poorly when the pixel shader outputs to multiple
render targets that are not bound.
BUG=325581
Change-Id: I13f6f98861ffeb77cd21f7401ded4425e4ea7841
Reviewed-on: https://chromium-review.googlesource.com/185400
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/190341
|
|
7840b170
|
2014-03-13T11:20:44
|
|
Cache bound vertex and index buffers by ID3D11Buffer instead of serial.
Since a DirectBuffer11 may return different buffers from getBuffer
depending on the required buffer type and if the internal buffers are
dirty or not, the current serial is not reliable. Use the actual buffer
object so that there can be no missmatch.
BUG=350581
Change-Id: I6ea1616273346117a17646edb68e6518e584f2b1
Reviewed-on: https://chromium-review.googlesource.com/189435
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
72b16b25
|
2014-03-06T14:58:10
|
|
Fix incorrect path usage in generate_projects.
We should use the cross-platform os.path.join() to support
platforms other than Windows.
BUG=angle:577
Change-Id: I9d96fc1b13731a57ffcd97469632f0acedb8e5c7
Reviewed-on: https://chromium-review.googlesource.com/188879
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Conflicts:
generate_projects
Change-Id: I76cacb8ee3acf477c0e99cd73cf91622efc3c9b4
Reviewed-on: https://chromium-review.googlesource.com/189131
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
26e9195f
|
2014-03-05T15:01:27
|
|
Refactor ReadPixels validation.
Move ReadPixels error generation out of the implementation and into
the API level.
BUG=angle:571
Change-Id: I0b32294f359fedd13d1af2c95baf37a3e5ac1d5b
Reviewed-on: https://chromium-review.googlesource.com/188014
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
70656a64
|
2014-03-05T15:01:26
|
|
Implement queries and enums for buffer mapping.
GetBufferPointerv, GetBufferParameteri64v, and new values
for GetBufferParameteriv.
BUG=angle:565
Change-Id: I179a3193987b2bff1b0628e47f6a0d627541b0cf
Reviewed-on: https://chromium-review.googlesource.com/188203
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bd0ea9c7
|
2014-03-04T13:53:29
|
|
Don't attempt to perform constant folding with an uninitialized constant variable.
BUG=348205
Change-Id: I9be17832b1a35d2995725ab147977992c2732274
Reviewed-on: https://chromium-review.googlesource.com/188711
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/189471
|
|
3cdfcce8
|
2014-03-07T13:00:08
|
|
Remove SH_MAP_LONG_VARIABLE_NAMES
We use hashing to map all variables/strcuture field names, etc,
so we no longer need this option.
Checked with Firefox and WebKit, they no longer use this option
either. Time to remove it.
Change-Id: Ie3e79b91a05258b04af419a9c42b2fd1b00e67c4
Reviewed-on: https://chromium-review.googlesource.com/189236
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/189568
|
|
550c600b
|
2014-02-26T15:40:48
|
|
Improvement on loop unrolling with loops indexing sampler arrays
1) Before this workaround is hardwired on mac, now we move it behind a compil
2) Fix the issue where "break" inside the loop isn't handled while unrolled.
BUG=338474
TEST=webgl conformance test sampler-array-using-loop-index.html
Change-Id: I4996a42c2dea39a8a5af772c256f8e3cb383f59a
Reviewed-on: https://chromium-review.googlesource.com/188079
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Conflicts:
include/GLSLANG/ShaderLang.h
src/compiler/translator/ValidateLimitations.cpp
Change-Id: I546197bd7df1634ebccdd380be14c3250cd56151
Reviewed-on: https://chromium-review.googlesource.com/189061
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
2515c520
|
2014-03-07T10:28:43
|
|
Fix compile errors on pre-C++11 compilers.
BUG=angle:575
Change-Id: Ibad77fda193c850c29483aa56d0d2275c131429a
Reviewed-on: https://chromium-review.googlesource.com/189163
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
feee44bf
|
2014-03-05T11:34:31
|
|
Keep the debug log file open and flush with each message.
Instead of opening and closing the debug log file with each message, keep
it open permanently and flush it with each message, allowing the OS to
flush to disk as needed. With debug logging enabled, performance is improved
by 100x!
Also, dynamically size the output buffer to the max message size. When
running all the samples, the largest debug message was 318 characters so
an initial size of 512 (instead of 32768) seems reasonable.
BUG=angle:575
Change-Id: If4a1387431fc2d32a6b2d1f9ca1f2590473feb86
Reviewed-on: https://chromium-review.googlesource.com/188713
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7a5f738b
|
2014-03-05T15:01:24
|
|
Implement buffer map related entry points and errors.
BUG=angle:565
Change-Id: I14cee4eec032d4b6b8d9479da4234b81e4ec6bec
Reviewed-on: https://chromium-review.googlesource.com/188202
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8c96d58a
|
2014-03-05T15:01:23
|
|
Add helper methods for buffer enum tagets.
A query helper method in Context and a validation helper
method reduce code redundancy quite a bit.
BUG=angle:565
Change-Id: I96b9ecc4614e7e31240e31594223e8b9636d22c2
Reviewed-on: https://chromium-review.googlesource.com/188201
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
eeba6e1e
|
2014-02-03T13:12:30
|
|
Added methods for applying the current transform feedback buffers.
BUG=angle:495
Change-Id: I2d9fbf9c245bc519b8c5a724ca3912aaa7a23d97
Reviewed-on: https://chromium-review.googlesource.com/185034
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ca442ba4
|
2014-03-05T09:53:30
|
|
Fix default bits for 3-channel un-normalized int.
GPU conversion means we should be using a default of 1 as for
int types instead of the MAXINT value for normalized types.
Fixes the WebGL test for vertex attribs with offsets.
BUG=angle:550
Change-Id: I1aa1b1bae2282e8eda96366adeec492ffe1d5728
Reviewed-on: https://chromium-review.googlesource.com/188433
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2f612290
|
2014-03-05T09:53:29
|
|
Combine widen and defaultBits params of copyVertexData.
Since we never, and never will use a default value of zero
for the alpha channel, we can use a value of zero to
indicate no widening. This has the benefit of not needing
a default value where it does not apply.
BUG=angle:550
Change-Id: Ifdfedcb16039aa1d7f8ee644b65c6b4d89f9a384
Reviewed-on: https://chromium-review.googlesource.com/188432
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0027fa9f
|
2014-02-20T14:26:42
|
|
Emulate integer cube texture sampling as an array of six 2D textures.
BUG=angle:525
Change-Id: I3c3ec2cecebf9e745f0c02a132433e3076a6fdea
Reviewed-on: https://chromium-review.googlesource.com/187534
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d51df461
|
2014-02-26T14:18:17
|
|
Remove the second translator target, only using static.
Because libGLESv2 needs a static translator to link against
internal types like Attribute and Varying, as well as using
some other internal methods, we can for now disable the
component build for the translator. In the future we can
support a proper component build with exports across library
boundaries.
BUG=angle:568
Change-Id: Ie3efc0a29342d02491e91952c3c2398568f83576
Reviewed-on: https://chromium-review.googlesource.com/187699
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
477bc781
|
2014-02-26T09:54:17
|
|
Fix crash on multiple calls to ShInitialize().
The previous fix would allow the calling app to trigger
an ASSERT if it did not first call ShFinalize. Chrome
would do this in some cases, causing a test failure.
BUG=344043
Change-Id: I33fa0c4668dac8750ca949febc7f02cc7d3d95e7
Reviewed-on: https://chromium-review.googlesource.com/187849
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1d1c1152
|
2014-02-26T11:00:28
|
|
Prevent overflow in the variable packer by sanity checking each variable.
BUG=346489
Change-Id: I28f5751580729a4d4d77fa6fdee0b4a6628a05de
Reviewed-on: https://chromium-review.googlesource.com/188030
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
b4d192cd
|
2014-02-26T09:54:10
|
|
Re-initialize shader translator properly after one shutdown.
Because of a local static, we could get stuck and never re-initialize
the translator after calling ShFinalize.
BUG=344043
Change-Id: Ib4d18da886eac28f3e1bc959a7eadf5b34d9410f
Reviewed-on: https://chromium-review.googlesource.com/186975
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/187848
|
|
9533dcd3
|
2014-02-24T15:27:20
|
|
Implement BufferStorage11 mapping functions.
BUG=angle:565
Change-Id: I4f416981bc63098f0364653ff279b3f54eeb756e
Reviewed-on: https://chromium-review.googlesource.com/186979
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
103a11f4
|
2014-02-24T15:27:21
|
|
Implement state and interface for map in gl::Buffer.
Mostly these calls pass through to BufferStorage.
BUG=angle:565
Change-Id: I38ab7d4f49bfad940773428f5bb330de55d3f573
Reviewed-on: https://chromium-review.googlesource.com/187080
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d450505a
|
2014-02-24T15:26:49
|
|
Fix long error messages breaking InfoLog::append.
Using two calls to vsnprintf allows us to correctly determine
maximum buffer size as well as fixing garbage characters from
a missing NULL terminator.
Bug report from roland@lagoa.com.
BUG=angle:561
Change-Id: I4eb156342d9106d40783a3cf57c0c1d1889390e2
Reviewed-on: https://chromium-review.googlesource.com/186988
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
691bd3e9
|
2014-02-19T17:38:45
|
|
texture(sampler2DArrayShadow, ...) should not take a bias parameter.
BUG=angle:564
Change-Id: I3b86e8d52ebae0e1efd0805671bd58580a712b23
Reviewed-on: https://chromium-review.googlesource.com/187082
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f7378e38
|
2014-02-19T17:29:32
|
|
Implement textureProjGrad and textureProjGradOffset.
BUG=angle:564
Change-Id: Ice6a3715b0fda13324b3162940de875c932627c9
Reviewed-on: https://chromium-review.googlesource.com/186992
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bf7db103
|
2014-02-19T17:20:28
|
|
Implement textureGradOffset.
BUG=angle:564
Change-Id: Iad0e452f53469208d55755e14a350b5d2ca83e9d
Reviewed-on: https://chromium-review.googlesource.com/186987
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d11d549f
|
2014-02-19T17:06:10
|
|
Implement textureGrad.
BUG=angle:564
Change-Id: I95dcd95a274f6d560250c197be0d6e64a5b23516
Reviewed-on: https://chromium-review.googlesource.com/187081
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
42f529e9
|
2014-02-24T12:45:32
|
|
Fix commit header generation on non-Windows platforms.
Previously we relied on a batch file, which for obvious reasons
isn't cross-platform.
BUG=angle:529
Change-Id: Ia1e3944f8ed2096773e68c39d48ae2dd7370897b
Reviewed-on: https://chromium-review.googlesource.com/186974
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/186985
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
d9fa3b94
|
2014-02-19T10:30:51
|
|
Add Map-related stubs to BufferStorage.
BUG=angle:565
Change-Id: I7db13e8e5fb386f5e40dd2a2e273e35f01c1f28c
Reviewed-on: https://chromium-review.googlesource.com/186978
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5d64cafa
|
2014-02-11T10:23:34
|
|
Fix multiple variables named i in the same scope.
Change-Id: I575e1d80d103f554892feb6369e9b76c199bf20a
Reviewed-on: https://chromium-review.googlesource.com/185881
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fc01454b
|
2014-02-18T14:47:13
|
|
Implement texelFetch and texelFetchOffset.
BUG=angle:564
Change-Id: I7ad3484061f5d6912d7842bdadc6297de3e82ef8
Reviewed-on: https://chromium-review.googlesource.com/186990
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5c9a29ab
|
2014-02-11T10:26:24
|
|
Fix redefinition of variables.
Change-Id: I04b0577c8af45fca938d8fb7cf0b9fe2eadafcf2
Reviewed-on: https://chromium-review.googlesource.com/185883
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2adc256a
|
2014-02-14T23:50:59
|
|
Implement textureProjLod and textureProjLodOffset.
BUG=angle:564
Change-Id: I547c69908d0aa1809f844a50230bc019e6dd5893
Reviewed-on: https://chromium-review.googlesource.com/186685
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
df86c6b9
|
2014-02-14T20:09:17
|
|
Implement textureProjOffset and textureLodOffset.
BUG=angle:564
Change-Id: I647abed0609afd178d2e9522f139d25dd3c7fda4
Reviewed-on: https://chromium-review.googlesource.com/186684
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
774b39ff
|
2014-02-19T16:27:35
|
|
Fix commit id versioning when building with Chrome.
The GYP syntax would cause problems with the ninja build.
BUG=angle:529
Change-Id: I84a30afc9bd8900535e44f5d5f9d8f766a4686e8
Reviewed-on: https://chromium-review.googlesource.com/186610
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/186984
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
5508f39d
|
2014-02-20T13:31:36
|
|
Fix breaking the build with missing GetGlobalMaxTokenSize.
Because the preprocessor is used independently from the compiler,
we need a way to track max token size when we don't have access
to the parse context with the current spec.
BUG=angle:550
Change-Id: Idf5035ec2c001ee75f264151ab3c4e92f3cd44d7
Reviewed-on: https://chromium-review.googlesource.com/187140
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4fd5e4a3
|
2014-02-14T18:17:15
|
|
Use generic sampler types to compact symbol table initialization.
BUG=angle:564
Change-Id: Idbca76a4c8360d34652b571227fbb068d8d017c4
Reviewed-on: https://chromium-review.googlesource.com/186683
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7bee6395
|
2014-02-11T10:25:07
|
|
Fix incorrect cast.
Change-Id: I1a41593dbe598dfef301c9df0f47a5105b5705cf
Reviewed-on: https://chromium-review.googlesource.com/185882
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
759b994b
|
2014-02-14T17:57:14
|
|
Define generic sampler types.
BUG=angle:564
Change-Id: I627f55152000371e73f3e5b4ba6938119fab0223
Reviewed-on: https://chromium-review.googlesource.com/186682
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
c9508842
|
2014-02-14T17:48:50
|
|
Simplify the creation of global types.
BUG=angle:564
Change-Id: If611947f7e8ceb603001165c3c1d61d7686f1d30
Reviewed-on: https://chromium-review.googlesource.com/186681
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c8058451
|
2014-02-03T12:04:11
|
|
Add functionality to create and destroy TransformFeedback objects.
BUG=angle:491
Change-Id: I3ee3c2aec1878ad656a8f522943a29fea6f7e215
Reviewed-on: https://chromium-review.googlesource.com/185033
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8e32884a
|
2014-02-10T13:11:20
|
|
Remove dependence on dxguid.lib for release builds.
BUG=angle:559
Change-Id: I10c93b312b4bf206e45d061eace2d00e598403bd
Reviewed-on: https://chromium-review.googlesource.com/185690
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
94a9089b
|
2014-02-18T17:14:19
|
|
Detect cross-process HWNDs and verify DXGI 1.2 exists in D3D11.
DXGI 1.2 is required to create a swap chain for a HWND owned by another
process. This fix will allow us to fall back to creating a Renderer9 if
DXGI 1.2 is not available instead of failing to create the swap chain
later.
BUG=angle:562
Change-Id: I01b08ffb262bc3f9c86d244168df14eba52c5bdc
Reviewed-on: https://chromium-review.googlesource.com/186980
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ac97d59f
|
2014-02-19T23:35:42
|
|
Fix git call syntax in commit_id.bat
BUG=angle:566
Change-Id: I437bdec916dbfe12cb310a20d4f38c18072eacd0
Reviewed-on: https://chromium-review.googlesource.com/187210
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
(cherry picked from commit aacedfcffbca780c56dda2ab03ee07faccf0fbec)
Reviewed-on: https://chromium-review.googlesource.com/187201
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
496123fd
|
2014-02-12T11:33:51
|
|
Implement EXT_blend_minmax.
BUG=angle:555
Change-Id: I1ae6a9783e718d16ee08bda5463f11cd52ad0967
Reviewed-on: https://chromium-review.googlesource.com/186123
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
2a419244
|
2014-02-10T13:00:44
|
|
Add defines to enable or disable specific renderers.
BUG=angle:559
Change-Id: I88c168205b142701ec843aa394c82c3a5857ed0d
Reviewed-on: https://chromium-review.googlesource.com/185569
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
88f6e946
|
2014-02-19T10:27:53
|
|
Proper support for token max size in WebGL+ES3.
WebGL specifies a maximum token size of 256 characters, while
ES3 specifies 1024 characters. We can determine the proper max
size to support from the spec.
BUG=angle:550
Change-Id: I6aeabe8af3b6184a27b456248ce2f84f361b76e4
Reviewed-on: https://chromium-review.googlesource.com/186973
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c9f140d8
|
2014-02-18T15:27:21
|
|
Add preprocess bison files to the gyp files.
We had accidentally left out the y and l files from our generation
scripts, causing us to miss several instances of updated enum names.
BUG=angle:550
Change-Id: I8790742fbaab5435e4c0db4f61c3e8194a231550
Reviewed-on: https://chromium-review.googlesource.com/186972
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
61b54433
|
2014-02-18T15:27:19
|
|
Fix unsized formats in GenerateMipmap.
We had accidentally blocked mipmap generation for all unsized
formats in ES3, because they were marked as non-renderable.
The spec specifically allows for mipmaps with unsized formats
in GenerateMipmap.
BUG=angle:550
Change-Id: Iee7eddd011f4fe86b690422723620593f8049ba6
Reviewed-on: https://chromium-review.googlesource.com/186971
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5c55caf3
|
2014-02-18T15:27:18
|
|
Fix bugged tokens marked as reserved/free in ES2.
We had accidentally marked 'smoooth', 'centroid' and 'case'
as reserved in ES2, when they are available as identifiers.
Additionally 'sampler2DShadow' was marked as free, instead
of reserved.
BUG=angle:550
Change-Id: I33ec1b790ad5b4d9a6f4d2ea2e91cec1ca8e7320
Reviewed-on: https://chromium-review.googlesource.com/186970
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d2d648cc
|
2014-01-29T09:27:10
|
|
Enable GPU dynamic conversion for unnormalized int formats.
This patch turns on the dynamic conversion logic for integer formats
that we must convert to floating point for ESSL 1.0 compatibility. The
converted formats are 1, 2 and 4 channel unnormalized integer.
BUG=angle:560
Change-Id: I3bcc45f1103290613029bc54fdd6012dddb0a03d
Reviewed-on: https://chromium-review.googlesource.com/186700
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
dad5ed39
|
2014-02-10T12:59:17
|
|
Refactor HLSL compilation out of Renderer.
This moves the start-up and tear-down code for D3DCompiler.dll into an object
that Renderer9 and Renderer11 use. This will help future efforts to remove
references to HLSL at the GL/Renderer interface level.
BUG=angle:558
Change-Id: I18fcf9b237265d69c1d7d2ea345696c8fd31df29
Reviewed-on: https://chromium-review.googlesource.com/185568
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8664b063
|
2014-02-14T16:41:29
|
|
Add logic for dynamic converstion of int to float vertex data.
We can use the format tables and input layout to determine when we need
to generate conversion code in the vertex shader.
BUG=angle:560
Change-Id: Ib64fb16823bf78ed6432fba283b0d24bcb673a76
Reviewed-on: https://chromium-review.googlesource.com/185195
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c5ede1a7
|
2014-02-14T16:41:27
|
|
Add logic for inserting vertex conversion code in HLSL.
The patch refactors the vertex input HLSL to allow for dynamic
conversion in the future. Using a placehold keyword, the code
replaces that stub with the vertex input conversion logic.
BUG=angle:560
Change-Id: I100c50cb4decd45b0f0c10d7c2c22583368b773e
Reviewed-on: https://chromium-review.googlesource.com/185194
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2c7d84ac
|
2014-02-14T16:41:26
|
|
Store un-linked shader attributes in ProgramBinary.
Our caching of compiled vertex shaders according to their input
signature needs a consistent input signature to match up shaders.
Since the linking step currently shuffles attributes according
to API specified locations we need a separate list.
BUG=angle:560
Change-Id: Icc4d5df1d37ae895d5c882b86e60f05b5c268461
Reviewed-on: https://chromium-review.googlesource.com/185193
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c5a83000
|
2014-02-14T16:41:25
|
|
Store multiple vertex executables in the program binary.
With dynamic vertex conversion the GPU, we will have different input
layouts resulting in different executables. This patch adds a way
of mapping the input layouts to vertex executables.
BUG=angle:560
Change-Id: Ie36f2f8ac2dfcb96f562af577d31f57d6d89b447
Reviewed-on: https://chromium-review.googlesource.com/185192
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5f562735
|
2014-02-14T16:41:24
|
|
Moved all HLSL-related code from ProgramBinary to DynamicHLSL.
DynamicHLSL encapsulates all HLSL generation we need outside the
the shader translator, such as for linking between input and output
stages and point sprite geometry shaders.
BUG=angle:560
Change-Id: Ib5079aa102000a7c37b166bcbe26b09cc82f8932
Reviewed-on: https://chromium-review.googlesource.com/185191
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
e8bc3193
|
2014-02-14T13:04:03
|
|
Optimize masked clearing of missing channels.
Instead of doing a masked clear when a texture has mismatched channel
counts, set the clear color to the default for the missing channels and do
a regular clear.
This catches es3proto up to master in terms of clear performance.
BUG=angle:557
Change-Id: I4f16976154af7735f5bb2b0b17adb3a264872ec0
Reviewed-on: https://chromium-review.googlesource.com/186611
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0aa84f63
|
2014-02-13T13:17:23
|
|
Merge 'Tie program binary version to commit hash.'
Port changes from master branch with commit hash embedding
to the development branch.
BUG=angle:529
Change-Id: I307bf44103913aaaeb875a2e3ade1fab77838c48
Reviewed-on: https://chromium-review.googlesource.com/186390
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5f6937ca
|
2014-02-12T17:15:22
|
|
Align static and streaming vertex data to 16-byte boundaries.
Certain vertex formats using fewer than 4 bytes could confuse our
buffer code, giving us improperly aligned offsets. Aligning vertex
data across the board should fix the problem, and minimal cost.
Change-Id: I6884b4ddcfb91ef309a970593aaf7932cb65712e
Reviewed-on: https://chromium-review.googlesource.com/185196
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4a667fe9
|
2014-02-11T12:35:01
|
|
Add an option to initialize varyings without static use in vertex shaders
ANGLEBUG=554
TEST=webgl conformance test on mac: shaders-with-varyings.html
r=kbr@chromium.org,nicolascapens@chromium.org
cc=alokp@chromium.org,shannonwoods@chromium.org
Change-Id: I2e692d43fb15f1cf3ade3e398020d1fedb2b32f0
Reviewed-on: https://chromium-review.googlesource.com/185922
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Conflicts:
src/common/version.h
src/compiler/translator/Compiler.cpp
Change-Id: If7db13ef345bd6199d4ea0d7786f0de20885f2f3
Reviewed-on: https://chromium-review.googlesource.com/186144
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
32d508e2
|
2014-02-11T09:39:48
|
|
Fix checking for a NULL pointer after using the pointer.
Change-Id: I0ead14916ec677c97afb53f4c31a903e71fbc70f
Reviewed-on: https://chromium-review.googlesource.com/185862
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2a20562f
|
2014-02-12T10:41:24
|
|
Fix depth texture validation in ES2 contexts.
We were checking for extra conditions that apply to ES3 within all
ES2 contexts, causing the webgl depth texture conformance test to
fail.
BUG=angle:550
Change-Id: Iae9a4880b9efc6be8c6857bce27a47d42fecc23a
Reviewed-on: https://chromium-review.googlesource.com/186122
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7ea42a55
|
2014-02-10T12:49:15
|
|
Move ShaderCache.h to the d3d directory.
Change-Id: I56e0f5ff11cebd8b9415081b930a804dcce9530c
Reviewed-on: https://chromium-review.googlesource.com/185566
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0bf3a982
|
2014-02-11T09:40:48
|
|
Fix variable being used to initialize itself.
Change-Id: Ied10d866627485c6cd3eb09e23c14937efc465f4
Reviewed-on: https://chromium-review.googlesource.com/185864
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
a4de2657
|
2014-02-11T09:39:20
|
|
Mark destructors of Surface and Context as virtual.
Change-Id: If09d621cc249754caa57b057f76ff84726c18265
Reviewed-on: https://chromium-review.googlesource.com/185861
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
c6856732
|
2014-02-11T09:38:55
|
|
Fix wrong enum type being compared.
Change-Id: I020bbf8179c08574f5fc0a207db03d7456eeeba1
Reviewed-on: https://chromium-review.googlesource.com/185860
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
49f9a20d
|
2014-02-03T11:58:11
|
|
Add TransformFeedback object.
Change-Id: I1f836575824ff9df17fe3832997f06acc7464746
Reviewed-on: https://chromium-review.googlesource.com/185032
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1cd1b213
|
2014-02-11T09:42:27
|
|
Fix wrong variable being compared.
Change-Id: I83b68286b6f3dd369081cb2188af27c86b3de6eb
Reviewed-on: https://chromium-review.googlesource.com/185865
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
cbf727ae
|
2014-02-10T12:50:45
|
|
Remove references to D3D formats in the Texture class.
Change-Id: I67add42cc69ec372840c67656bd2c77c623b23d0
Reviewed-on: https://chromium-review.googlesource.com/185567
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
03ef7406
|
2014-02-11T09:40:20
|
|
Fix comparing blend states with the wrong structure size.
Change-Id: I0e4c79cb7eaacf5403203b7b65094a54405ad47a
Reviewed-on: https://chromium-review.googlesource.com/185863
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
37dde692
|
2014-01-31T16:34:54
|
|
Add support for transform feedback queries.
Change-Id: I0aab43b146f87259898db57acb9f74fdbfdb1b96
Reviewed-on: https://chromium-review.googlesource.com/184580
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d5da329c
|
2014-02-06T13:24:33
|
|
Improve the enumerate_files.py script.
Cleaned up the agument parsing and added support for excluding files/folders.
BUG=angle:552
Change-Id: I6dcf965f9b92ce4aa1c0b64bd4f9a0420883bcf6
Reviewed-on: https://chromium-review.googlesource.com/185204
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1106aeb2
|
2014-02-06T11:06:50
|
|
Move the enumerate_files script to the build directory.
BUG=angle:552
Change-Id: I9f357c68c258c7731cf0d5c2ceed3a2875b21228
Reviewed-on: https://chromium-review.googlesource.com/185142
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0550d038
|
2014-01-30T11:29:07
|
|
Implement GL_RASTERIZER_DISCARD.
BUG=angle:498
Change-Id: Ib60c39e206003ae67c93769e35f7f9ef790ce9f4
Reviewed-on: https://chromium-review.googlesource.com/184396
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2e5c6042
|
2014-02-06T10:45:32
|
|
Add GL headers to libGLESv2, libEGL and translator projects.
Change-Id: I66f36623eb5fb60fbb92d16af4f9854688b9484c
Reviewed-on: https://chromium-review.googlesource.com/185190
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
a5e44c92
|
2014-02-04T16:04:15
|
|
Relax alignment restrictions to allow more direct storage.
Our restriction to 4-byte alignments caused us to always convert
formats like R8 or R16, or R8G8 instead of allowing D3D to handle
these formats naturally.
From experimentation the proper rule seems to be "4-bytes, unless
the vertex format is 1- or 2-byte size." I couldn't find supporting
documentation on MSDN, but it seems common sense.
Change-Id: I9e38fe86790e34024d1ae912a809a3d3cdc02ccf
Reviewed-on: https://chromium-review.googlesource.com/184523
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
a5d67475
|
2014-02-04T16:04:13
|
|
Remove VertexBuffer::requiresConversion.
Since we now have Renderer methods to query formats for vertex inputs,
we can get rid of the remaining calls to VertexBuffer which we used
to query properties of vertex formats.
Change-Id: I9e57d1d9bf80296aef271877fdd97a16d29114af
Reviewed-on: https://chromium-review.googlesource.com/184522
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7d649a00
|
2014-02-07T11:24:32
|
|
Fix initializing the MaxExpressionComplexity and MaxCallStackDepth compiler limits.
BUG=339860
Change-Id: I64600db4bef62236c6acd8728902471df06a8f0a
Reviewed-on: https://chromium-review.googlesource.com/185380
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
95ffb868
|
2014-01-29T09:26:59
|
|
Add vertex format queries to Renderer.
With the new support for vertex formats living in the format utils,
we can use the Renderer class to query vertex properties instead of
the VertexBuffer class.
Change-Id: Id76bd4dbf63855016faccef703521887f50da3b9
Reviewed-on: https://chromium-review.googlesource.com/184521
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
80177879
|
2014-02-04T16:04:10
|
|
Move D3D9 vertex format tables to formatutils9.
Vertex format information is useful for querying format properties
with the new vertex translation logic with dynamic shaders.
Change-Id: I1935c75f1e3920dc1d4a364a2d6968c82692e476
Reviewed-on: https://chromium-review.googlesource.com/184520
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
7ab02faf
|
2014-02-04T16:04:08
|
|
Add D3D11 vertex format tables to our format utils.
Moving the vertex format information to a globally accessible
helper file makes them available for the dynamic shaders logic.
Change-Id: I67d6280c0603d9c601ca504751c8905677c2426f
Reviewed-on: https://chromium-review.googlesource.com/184399
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3078d0f7
|
2014-02-04T16:04:06
|
|
Add VertexFormat internal struct to represent vertex inputs.
A VertexFormat is similar to a simplified VertexAttribute, without
extra unncessary data. VertexFormats will be useful for GPU vertex
conversions with dynamic shader compilation.
Change-Id: I4e60e0a12d5f081fb52d95c8977c43d481b33bff
Reviewed-on: https://chromium-review.googlesource.com/184398
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8ff21aea
|
2014-02-04T16:04:05
|
|
Move storage for uniform blocks to the program binary.
With dynamic shaders we may have multiple shader executables per
program binary. We must store the uniforms outside the executable,
in the program binary, to be consistent between variations.
Change-Id: I1b29a5d78c72dede8562d4878569b609536ba074
Reviewed-on: https://chromium-review.googlesource.com/183586
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c47a678a
|
2014-02-04T16:04:03
|
|
Move the storage for uniform blocks to its own class.
With dynamic shaders we may have multiple shader executables per
program binary. We must store the uniforms outside the executable,
in the program binary, to be consistent between variations.
Change-Id: I1bec83dfb83ee9bb422448b157338a46e8e7ba56
Reviewed-on: https://chromium-review.googlesource.com/183585
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
ecc8b6f4
|
2014-01-30T10:44:23
|
|
Refactor BufferStorage11.
In preparation for transform feedback, BufferStorage11 needs to be able to
handle a non-staging buffer being updated. Each D3D11 buffer now has an
incrementing data revision associated with it so the most up-to-date
buffer is always known.
Staging buffers are now represented like any other DirectBuffer.
Change-Id: I6e881867cb2bd02d600213d08cce3ebba316c525
Reviewed-on: https://chromium-review.googlesource.com/184395
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
e53c98ba
|
2014-02-03T11:57:13
|
|
Add work-around for D3D9 shader compiler bug.
With certain selection statements with a vertex input in the
condition and side-effects in the else-block, we'd run in to
a D3D9 compiler bug which would cause incorrect results.
We can work around this bug in D3D9 by selectively rewriting
these statements to use an 'else if' clause instead of 'else'.
BUG=322794
Change-Id: I93c96fb201ff4959c00d9a36321faac7e0343278
Reviewed-on: https://chromium-review.googlesource.com/184681
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7993190b
|
2014-02-03T14:29:42
|
|
Fix wrong allocator being used for sampler deletion.
Change-Id: I5e5aca5cda2bf1a96db05d594c64970ebf54fd29
Reviewed-on: https://chromium-review.googlesource.com/184572
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8d6a0024
|
2014-01-31T16:38:31
|
|
Fixed missing break statement.
Change-Id: I83e3091243be442eafa4d16e4a4ce247a326c493
Reviewed-on: https://chromium-review.googlesource.com/184570
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f8912c50
|
2014-01-30T10:12:03
|
|
Refactor buffer existance check into Buffer::invalidateStaticData.
Change-Id: I28a7654d152865c236831636f00554a71784667b
Reviewed-on: https://chromium-review.googlesource.com/184394
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
826f3d30
|
2014-01-29T09:26:49
|
|
Add a GetComponentType method to query a DXGI format.
Also add a few missing DXGI formats related to vertex inputs.
Change-Id: Ia39234a164000d11eef3806ba4f06b6426f1cbb7
Reviewed-on: https://chromium-review.googlesource.com/183584
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|