|
47e3ec08
|
2014-08-20T16:38:33
|
|
Add a helper method to parse invariant declarations.
This pulls out more functionality from the grammar into simple
c++ source files.
BUG=angle:711
Change-Id: I19121d710dc1543585361cb53a0deb2ea0479db9
Reviewed-on: https://chromium-review.googlesource.com/212938
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
5c09702f
|
2014-08-20T16:38:32
|
|
Add a getNamedVariable helper method to TParseContext.
This method will be useful in more than one place, since we need
to get a TType from an indentifier when parsing invariant
declarations.
BUG=angle:711
Change-Id: I1c1befbdcc93ea626428fb4e313b8c6326c158f6
Reviewed-on: https://chromium-review.googlesource.com/212937
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
6053a52e
|
2014-07-25T16:22:09
|
|
Moved some validation back to Texture, unified all TextureImpl variants
BUG=angle:688
Change-Id: Ie2df18277c84345fceaa31d4f63f5cbbb47540c6
Reviewed-on: https://chromium-review.googlesource.com/211387
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
b9b5c105
|
2014-08-20T17:28:54
|
|
Rename intermediate.h to Intermediate.h.
This was breaking the Linux build.
Change-Id: I8f63527cfa37ee774ea5d1e6eb0043a4c7ccc734
Reviewed-on: https://chromium-review.googlesource.com/213300
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
cfa33e62
|
2014-08-19T15:30:41
|
|
Call addRef when creating a new Fence Sync object.
BUG=angle:728
Change-Id: Iafd838c3ceb1a88afd4d3b0994e8d841945df499
Reviewed-on: https://chromium-review.googlesource.com/213142
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b1a85f48
|
2014-08-19T15:23:24
|
|
Rename compiler intermediate source files.
This prevents confusion between "TIntermediate" and "TIntermNode".
BUG=angle:711
Change-Id: Ib7a086382a479db3f77bf2ab06ce321aa7b35d13
Reviewed-on: https://chromium-review.googlesource.com/212936
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
4f2bf3a5
|
2014-08-20T16:03:52
|
|
Fix reversed shift in the huge SetData test.
BUG=angle:716
Change-Id: I1b621668b78373e0566f6eab6034993ec09aa4b9
Reviewed-on: https://chromium-review.googlesource.com/213221
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
299fcf29
|
2014-08-06T16:46:54
|
|
Fix swizzle formats being assigned incorrectly.
* Non-4 component formats cannot be used as swizzle formats.
* Unsized formats should not have swizzle formats.
BUG=angle:721
Change-Id: Ic4e2642f5dc4c9811768961fbab00f6edd200ce1
Reviewed-on: https://chromium-review.googlesource.com/211241
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
592dbb8e
|
2014-08-05T13:26:38
|
|
Remove the gclient file, it should be generated now.
BUG=angle:713
Change-Id: Icd3e9c5212baf4c1dc781df6fef68c078b054e1a
Reviewed-on: https://chromium-review.googlesource.com/210883
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8def9aac
|
2014-08-05T11:39:15
|
|
Simplify the creation of OS-specific windows and timers in the samples.
BUG=angle:521
Change-Id: I9550269e9cd67fc24246853bec3c1f67cb16da2a
Reviewed-on: https://chromium-review.googlesource.com/211130
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b8c0a832
|
2014-08-15T16:41:12
|
|
Amend comment about nameless structs & layout qualifiers
Change-Id: I1177c808bffd2beba7d52bd8f8869125a1624698
Reviewed-on: https://chromium-review.googlesource.com/212700
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
3b579e36
|
2014-08-08T10:54:25
|
|
Minor cleanup to Query constructor to normalize it with other interfaces
Change-Id: I562245cf6323edc7a127480e8de6ac16c6f97c03
Reviewed-on: https://chromium-review.googlesource.com/211641
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
20ba154c
|
2014-08-11T17:14:44
|
|
Initialize TranslatedAttributes
BUG=398337
Uninitialized TranslatedAttributes were causing false positives
in checks for nonzero attrib divisor.
Change-Id: I44655d3fbe4f5478ca3757e05db38799d014e4c7
Reviewed-on: https://chromium-review.googlesource.com/211931
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
09cf736b
|
2014-08-08T15:41:01
|
|
Fix application of vertex divisor for non-instanced draws in D3D9
BUG=398337
*Re-land*
ANGLE_instanced_arrays defines the behavior of the non-instanced
draw calls (glDrawArrays, glDrawElements) such that they behave as
single-instance draws, so the vertex divisor should still apply. We
were handling this correctly in D3D11, but not D3D9.
This fixes a new WebGL conformance test:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/angle-instanced-arrays.html
Change-Id: I5ed09d41229c8996a78a3b55893c6a655a423644
Reviewed-on: https://chromium-review.googlesource.com/211930
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
bc75f36b
|
2014-08-11T14:08:19
|
|
Fix nameless struct handling.
BUG=401296
The addition of layout qualifier handling in es3 development inadvertently
broke handling of nameless structs.
Change-Id: I805bab7a981d1f7f6227ae043720296fc3454662
Reviewed-on: https://chromium-review.googlesource.com/211860
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
6f4423af
|
2014-08-10T13:54:45
|
|
Revert "Fix application of vertex divisor for non-instanced draws in D3D9"
Other issues turn up on the FYI bots with this patch applied; reverting until this is investigated further.
This reverts commit 9f6907bfdd4cf95d20408831b1776a6efd221ab3.
Change-Id: Ib30c51b2c905e87973c73b06baa4b8ebba31d210
Reviewed-on: https://chromium-review.googlesource.com/211683
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
9f6907bf
|
2014-08-08T15:41:01
|
|
Fix application of vertex divisor for non-instanced draws in D3D9
BUG=398337
ANGLE_instanced_arrays defines the behavior of the non-instanced
draw calls (glDrawArrays, glDrawElements) such that they behave as
single-instance draws, so the vertex divisor should still apply. We
were handling this correctly in D3D11, but not D3D9.
This fixes a new WebGL conformance test:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/angle-instanced-arrays.html
Change-Id: Ib50e189d866d6dc97612e46460db4ca1723b3662
Reviewed-on: https://chromium-review.googlesource.com/211445
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
baa34bea
|
2014-08-08T11:32:10
|
|
Regenerate default projects for recently added shader translator changes.
Change-Id: Ic9b8758477d334a0dcd564f5f2548b5a64584fc7
Reviewed-on: https://chromium-review.googlesource.com/211444
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
daf56572
|
2014-08-06T16:18:30
|
|
For SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS, assign precision to temp variables.
Otherwise on Windows or other platforms with GLES backend, using this workaround
will trigger shader compile failure.
For the moment, to simplify the workaround, for any missing precisions in float,
we always assign the highest available precion to it.
BUG=angle:695
TEST=webgl conformance tests
Change-Id: I810579442bc7fc61d6a52b76aff31a779046fa22
Reviewed-on: https://chromium-review.googlesource.com/211253
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
cef06ff2
|
2014-08-05T13:27:48
|
|
Unifying the various texture interfaces where possible
Also fixed diamond inheritance pattern that was causing trouble
on Windows 8
BUG=angle:688, angle:720
Change-Id: I678826bd4f3927c68ca1eb2e018dbb5aad33a8cc
Reviewed-on: https://chromium-review.googlesource.com/211037
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e5c97abd
|
2014-08-07T12:31:38
|
|
Fix GN build with missing ShaderVars.cpp.
Change-Id: I29be6cdda643f83a40a6adc9b76153667aafcc51
Reviewed-on: https://chromium-review.googlesource.com/211400
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
e740addb
|
2014-07-18T17:01:01
|
|
Add compiler option SH_REGENERATE_STRUCT_NAMES.
BUG=angle:701
TEST=webgl conformance tests
Change-Id: I13b35900956e7d840d5891a5bab90a400347cd6f
Reviewed-on: https://chromium-review.googlesource.com/209229
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
a2ad4e8a
|
2014-07-17T14:16:32
|
|
Export shader variables from the translator DLL.
This will allow us to use these methods when compiling the translator
as a DLL.
BUG=angle:466,697
Change-Id: Ic9169fb7c69fe0bf5f98addfc128a30ee6b2159d
Reviewed-on: https://chromium-review.googlesource.com/208752
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
d9ba4f73
|
2014-08-04T10:47:59
|
|
Move implementation of hasMappedBuffer to State.
Refactoring patch only.
BUG=angle:571
Change-Id: Ib9f3145eaa457d94e488fd42eb4c4b9133768996
Reviewed-on: https://chromium-review.googlesource.com/210643
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
baadf23a
|
2014-08-04T13:58:02
|
|
Fix incorrect validation of ES3 internal format/format/type combinations.
* Fix wrong internal format being passed to ValidateTexImageFormatCombination.
* Fix ValidateTexImageFormatCombination validating the format instead of
internal format for general support.
* Fix support checks for format and type comparing with wrong format and
type fields.
* Add an early-out in format and type check loop to reduce iterations.
BUG=angle:658
Change-Id: I05e1b9f58b2e5ac4b5e1c0fa5a45cf37fb6a4ccd
Reviewed-on: https://chromium-review.googlesource.com/210884
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
eb10f1c8
|
2014-08-04T11:15:34
|
|
Generate VS2013 public projects.
Allows us to support 64 bit builds in the packaged project files.
BUG=angle:714
Change-Id: I7e2f57ec87d1c46b348a4821821d1e21be671e49
Reviewed-on: https://chromium-review.googlesource.com/210825
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
366ac1e3
|
2014-07-07T14:37:57
|
|
Remove the unusused Renderer::getSRGBSupport method.
BUG=angle:658
Change-Id: I3c8331dfc9c1046b528e9c4a7da3411d84f8ae3c
Reviewed-on: https://chromium-review.googlesource.com/207120
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f049e804
|
2014-08-04T13:10:27
|
|
Fix wrong comparison in Buffer ASSERT.
We were using >1 instead of <=1. Caused false errors in Debug.
BUG=angle:716
Change-Id: I7072df99f208bd2e0a687143faeef6c9be79728e
Reviewed-on: https://chromium-review.googlesource.com/210990
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
18afd77e
|
2014-08-04T13:22:22
|
|
Make the HugeSetDataTest more robust.
By starting from a near-maximum size, and trying until we reach a
a valid allocatable size, we can guarantee the test can run.
Previously the allocation could fail under some systems and
succeded in others, leading to flakiness.
BUG=angle:716
Change-Id: If1690349f7028c4e6a88f20649fb255ea2dd2587
Reviewed-on: https://chromium-review.googlesource.com/210992
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
91fa9ce4
|
2014-07-04T17:30:27
|
|
Simplify formatutils9 by exposing the internal structures.
BUG=angle:658
Change-Id: I8134cde4d72796c51613594e15aded86e83c4af7
Reviewed-on: https://chromium-review.googlesource.com/206837
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6ba451ba
|
2014-08-04T11:59:23
|
|
Fix single buffer copies.
In D3D11, the device doesn't allow overlapped buffer copies unless
the D3D11_FEATURE_DATA_D3D11_OPTIONS::CopyWithOverlap feature is
enabled. This isn't technically available until D3D11.1.
Get around the restriction by using a different storage buffer as
the source of the copy.
Fixes funcional.buffer.copy.single_buffer.* in dEQP.
BUG=angle:715
Change-Id: I03fea8a1c6180a29e07e05022e3454524e320803
Reviewed-on: https://chromium-review.googlesource.com/210902
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
778d5279
|
2014-08-04T13:13:25
|
|
Fix a stray quote that snuck into GLSLTest.cpp.
This was causing a test failure in TwoElseIfRewriting.
BUG=angle:716
Change-Id: I75e21ff586cdef10f0c35985a97fbb7c4783d2fe
Reviewed-on: https://chromium-review.googlesource.com/210991
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2c976a44
|
2014-08-04T11:37:53
|
|
Prettify HLSL compile retry error messages.
We were inserting excess newlines in several places.
Change-Id: I746334d3696e9e3be585ab02074384ae63535ea5
Reviewed-on: https://chromium-review.googlesource.com/210823
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
9aa00bbc
|
2014-07-07T12:33:25
|
|
Simplify formatutils11 by exposing the internal structures.
BUG=angle:658
Change-Id: I8a4ce5f45054a1fa829a9647a94cf2bd0ba93bc0
Reviewed-on: https://chromium-review.googlesource.com/206836
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1c28e1f0
|
2014-08-04T11:37:54
|
|
Fix shaders with invariant keyword.
We would trigger assertion failures in Debug mode, and fail to
parse and translate correctly in Release.
BUG=angle:711
Change-Id: Ibb7f33b288376617598578f48c7bbdbdec044279
Reviewed-on: https://chromium-review.googlesource.com/210822
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
f4e39bfd
|
2014-08-01T17:22:17
|
|
Fix non-square matrix-to-matrix constructors.
This fixes some broken tests in dEQP:
functional.shaders.conversions.matrix_to_matrix
BUG=angle:712
Change-Id: I0538595f2913a2c1d4f0da901d65d608a6580d19
Reviewed-on: https://chromium-review.googlesource.com/210882
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
cf3af0bd
|
2014-08-01T17:22:16
|
|
Fix non-square scalar-to-matrix constructors.
This fixes some broken tests in dEQP:
functional.shaders.conversions.scalar_to_matrix
BUG=angle:712
Change-Id: Ia01d720307ea6ca70da266b2085a878eaaab2412
Reviewed-on: https://chromium-review.googlesource.com/210881
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
e744834a
|
2014-08-04T11:12:07
|
|
Allow gyp to generate 64 bit project files for VS2012.
Visual Studio 2010 express was the last version to not support 64 bit
configurations.
BUG=angle:714
Change-Id: Ie4383a437a98cecfc82702e766a460ade96062f8
Reviewed-on: https://chromium-review.googlesource.com/210824
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aff8084b
|
2014-08-04T10:47:56
|
|
Fix VertexBuffer11::getSpaceRequired for instanced attribs.
The computation could copy more data than needed. Although benign
it could cause performance degredation compared to the D3D9 back
end.
Change-Id: I3cf1dc79085c33d44040fd55153e63a4e5e63cb1
Reviewed-on: https://chromium-review.googlesource.com/210640
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
5d601382
|
2014-07-22T15:14:06
|
|
Simplify formatutils.h by exposing the info structures.
Removed all the separate query functions and simply expose the internal
info structures. This reduces the number of std::map/std::set operations
that were hidden behind the API.
Moved the validation tables for ES3 format combinations and effective
internal formats into validationES3.cpp so that formatutils.h only has
generic GL format queries.
BUG=angle:658
Change-Id: Ieb60d42b8eafcdb4f21dcbec130b39478ce5f7c5
Reviewed-on: https://chromium-review.googlesource.com/206835
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5c1e58d0
|
2014-08-04T10:47:58
|
|
Add missing cache clears to D3D buffer classes.
BUG=angle:709
Change-Id: I93f92b916a0da26975cd459399cc2873cb4ab9f0
Reviewed-on: https://chromium-review.googlesource.com/210642
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
cfaaf72f
|
2014-07-31T10:47:54
|
|
Fix CopyBufferSubData.
We were passing the arguments from the gl::Buffer stub to the
implementation class, which was breaking the call.
Also clean up a few comments.
BUG=angle:709
Change-Id: Ib92a36d1c52d60d8929f567d0daf54e9d6a2d127
Reviewed-on: https://chromium-review.googlesource.com/210641
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
7bf0c867
|
2014-08-01T10:04:09
|
|
Fix GN build for libEGL.
Our build in GN differed slightly from our gyp build, causing the
linker to complain about inconsistent linkage. Also remove some
stray definitions of EGLAPI from our headers.
Change-Id: I5d3a09ccb0cec528ead33944ce0996cceed32d86
Reviewed-on: https://chromium-review.googlesource.com/210821
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
58c55c13
|
2014-07-31T17:34:30
|
|
Fix GN build for libGLESv2.dll.
In a previous fix to a Clang build error, we had neglected to update
the GN build. Broken in commit 07d49ef535.
BUG=angle:707
Change-Id: Ic11aa907d591540e915bec60f3bafaea471689d5
Reviewed-on: https://chromium-review.googlesource.com/210652
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e294bb87
|
2014-07-17T14:16:26
|
|
Add new shader inspection APIs.
Each new entry point corresponds to one of the variable types:
varyings, attributes, uniforms, output variables, and interface
blocks. They return a pointer to the vector with all of the
parsed variables, which then the app can copy to its own memory.
Currently we do not support the staticUse field in the HLSL
translator.
BUG=angle:466
Change-Id: I7dc09e761ab070feef5360ad27740110c44853b3
Reviewed-on: https://chromium-review.googlesource.com/208750
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
13cfd276
|
2014-07-17T14:16:28
|
|
Move shader variables header to include folder.
This allows the API to query for clear type introspection into the
parsed GL types from the translator. The returned types are not
expanded and have properly nested fields.
This patch uses the types from ShaderVars.h to return GL type
information. The app must include this header to get access to
the types structs.
BUG=angle:466
Change-Id: I28ad0d6f11a964804dd234ef0d00651f665d1ae3
Reviewed-on: https://chromium-review.googlesource.com/208751
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
6a72979f
|
2014-07-18T10:33:14
|
|
Move shadervars constructors to cpp files.
This avoid unnecessary binary bloat from STL default constructors
and assignment operators.
BUG=angle:466,697
Change-Id: I679e524d3e3dbd0d3866fc30a5a01967d8769249
Reviewed-on: https://chromium-review.googlesource.com/208356
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: bratell at Opera <bratell@opera.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
a3fe2b4e
|
2014-07-18T10:33:13
|
|
Update non-default constructors in shadervars.h.
Most of these constructors are unused. Remove the unused ones,
and change the usage of existing constructors to be consistent.
BUG=angle:466,697
Change-Id: I455dd314036e1dfcb8c4690bab577b81dd0e060c
Reviewed-on: https://chromium-review.googlesource.com/208355
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
f8bdfebc
|
2014-07-31T18:31:28
|
|
Revert "Unifying the various texture interfaces where possible"
This reverts commit 8c9038d6f57a4b53c97c4fb803259e7a50ab4cea.
Change-Id: I29c25121870e6f8d12144d235029f46fff90be7c
Reviewed-on: https://chromium-review.googlesource.com/210651
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8c9038d6
|
2014-07-21T09:43:22
|
|
Unifying the various texture interfaces where possible
BUG=angle:688
Change-Id: I43be738e0a42f7a7e1448e1d9300b30d4bc54125
Reviewed-on: https://chromium-review.googlesource.com/209343
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
4fbd36ec
|
2014-07-29T15:20:48
|
|
Add a test for multisampled PBOs.
We don't allow ReadPixels from multisampled targets in GL.
Also update the assertions in Buffer11 to reflect our expectations.
BUG=angle:511
Change-Id: Ia3d5f796f5405fbae1187f3d45b0080d7f24b6d9
Reviewed-on: https://chromium-review.googlesource.com/210053
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
8e8bf555
|
2014-07-03T13:50:40
|
|
Remove the MajorShaderModel member from Context.
BUG=angle:658
Change-Id: Iab7906309f6603d5364d891bb332af8c3bf457fe
Reviewed-on: https://chromium-review.googlesource.com/206834
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5f4c4636
|
2014-07-03T13:46:52
|
|
Use the FormatCaps for multisample validation and queries.
BUG=angle:658
Change-Id: Ic9fa53fb62d7eff62f07b68d7ddada461ecad859
Reviewed-on: https://chromium-review.googlesource.com/206832
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8d62bcc4
|
2014-07-25T15:08:21
|
|
Avoid D3D11 primitive restart index using 32-bit indices
D3D11 interprets an index value of 0xFFFF in a 16-bit index buffer as a
primitive restart marker. This behavior can't be toggled off.
http://msdn.microsoft.com/en-us/library/windows/desktop/bb205124(v=vs.85).aspx
We work around it by converting to 32-bit indices.
BUG=angle:708
Change-Id: Ibc92d6ba98e5f11a98d76cae14f90ca050a19964
Reviewed-on: https://chromium-review.googlesource.com/209883
Tested-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
34b66f32
|
2014-07-23T15:09:50
|
|
Use D3D11 Renderer for ANGLE Tests.
Many of our tests rely on extensions and ES3 support. Until we
have the ability to switch between Renderers for specific tests,
the D3D11 Renderer should enable many failing tests to pass.
Also fix a double-delete crash in the test cleanup routine.
BUG=angle:702
Change-Id: I5e615ca1a35bd109d9f7bcbb5fa90b88e09157bd
Reviewed-on: https://chromium-review.googlesource.com/209102
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
6b19b002
|
2014-07-16T14:32:05
|
|
Removing D3D-isms from gl::Texture
BUG=angle:688
Change-Id: I0cdc758000993f2d54240c69a84f5ae149306d9e
Reviewed-on: https://chromium-review.googlesource.com/209332
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
07d49ef5
|
2014-07-25T11:52:38
|
|
Fix Clang warning with preloaded D3DCompiler string.
Clang was complaining that we were casting a char* to a wchar_t*.
BUG=angle:707
Change-Id: I063165e9add4e9b57d131181da30c05e5abbc1c2
Reviewed-on: https://chromium-review.googlesource.com/209618
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a09403c0
|
2014-07-21T10:03:36
|
|
Fix masked ClearBuffer.
We were not properly setting the masked channels for these APIs.
Since we use a std::vector for tracking the render targets for
a particular ClearBuffer call, we lose the indexing into the
clear parameters. Fix this by storing the information in the
std::vector along with the Render Target.
BUG=angle:702
Change-Id: Ie3b1e870aa04054411c4f155682b86a340ec00cf
Reviewed-on: https://chromium-review.googlesource.com/209103
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bfdea66b
|
2014-07-23T14:16:32
|
|
Remove try-catch blocks from entry points.
BUG=angle:700
Change-Id: I036901c397053a75677923304d7e1ed697c82aa2
Reviewed-on: https://chromium-review.googlesource.com/209570
Reviewed-by: <ehsan@mozilla.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
cafa2102
|
2014-07-23T16:43:22
|
|
Fix Clang warnings.
MSVC's more permissing validator missed a dependent typename, and
deleting a void pointer.
BUG=angle:703,704
Change-Id: I227b94c9c1590973d7b11b0ed0bfda32f2a71cec
Reviewed-on: https://chromium-review.googlesource.com/209613
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5063f55a
|
2014-07-23T16:27:31
|
|
Add a MemoryBuffer type to safely allocate large user data buffers.
MemoryBuffer has a similar interface to std::vector but returns a bool on
resize to do error checking.
BUG=angle:700
Change-Id: Ib201eeb91b07f5b7f970e153f5d1e110f9b2fa55
Reviewed-on: https://chromium-review.googlesource.com/209612
Reviewed-by: Nico Weber <thakis@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
142ec426
|
2014-07-16T10:31:30
|
|
Refactored Texture2DArray, separated out D3D logic
BUG=angle:688
Change-Id: Ie3e5ac2bedcffb816ef1537575f09afb3f5e7a35
Reviewed-on: https://chromium-review.googlesource.com/208381
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
2f5469c2
|
2014-07-22T17:00:17
|
|
Export include directories to dependents in GN.
Translator headers that are included by dependent code
(example: ShaderLang.h) expect to be able to include files from
"includes" (example: "KHR/khrplatform.h"). This automatically
applies this include path to dependent targets.
Change-Id: I6990f66132562f142a6cdf8b8c434d2dbaad1c98
Reviewed-on: https://chromium-review.googlesource.com/209452
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brett Wilson <brettw@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
493daf5a
|
2014-07-03T13:38:44
|
|
Update the format table to check support for filtering and rendering.
Since filerability and renderability may depend on separate extensions,
use functions to determine their support. Context now uses these
functions to fill it's own TextureFormatCaps.
BUG=angle:658
Change-Id: Ib4dc877ba7c24f84a3823fd5aa2e01a3b3621705
Reviewed-on: https://chromium-review.googlesource.com/206831
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4836d22a
|
2014-07-24T06:55:51
|
|
Fix ASSERT when rewriting else-if blocks with no else.
The code assumed an else-if would end in an else. We can also save a
few allocations in the cases where there is no else.
BUG=angle:699
Change-Id: I550857366775b4a34aea97e117ef732297d3f448
Reviewed-on: https://chromium-review.googlesource.com/208681
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
048c4fe7
|
2014-07-23T15:28:33
|
|
Fix buffer tests.
The names of the tests were not properly capitalized, and the huge
buffer test could fail unexpectedly when it was run after several
prior tests which allocated large amounts of memory.
Change-Id: Ied5d1b6f56354e748f0df9d52658d14de9a559ac
Reviewed-on: https://chromium-review.googlesource.com/209611
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e04a5b7b
|
2014-07-18T10:33:12
|
|
Remove sh::InterfaceBlock member info.
We can compute the interface block member info entirely on the
API side. This will allow us to get rid of some un-necessary
code in the compiler.
BUG=angle:466
Change-Id: I664ffc82de5f2723156e51f4e9ffc07e4de162aa
Reviewed-on: https://chromium-review.googlesource.com/207781
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
28f70c3a
|
2014-07-18T10:33:10
|
|
Remove sh::Uniform::registerIndex and elementIndex.
With the previous cleanups, these fields aren't needed any longer.
We can also clean up some unused methods and simplify existing code.
BUG=angle:466
Change-Id: I96df8d152324bda5e6868b5eccdf52bdc09155e9
Reviewed-on: https://chromium-review.googlesource.com/207256
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
bf9cce2e
|
2014-07-18T10:33:09
|
|
Use the block encoder class to store uniform offsets.
This will allow us to use the same code path for assigning register
information in all places. Because of this it fixes some long-broken
dEQP struct uniform tests.
BUG=angle:466
BUG=angle:505
Change-Id: I4161a388503aa09bbe2d21ff47bfb3352ec93881
Reviewed-on: https://chromium-review.googlesource.com/207255
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
9fe25e9e
|
2014-07-18T10:33:08
|
|
Add a uniform register query to the translator.
This returns the uniform index that we assigned for default uniforms.
All the dependent structure offsets can be determined from the base
register, so we won't have to store uniform information in the shader
variable.
BUG=angle:466
Change-Id: I0dd05251e8dba00c20d09fd865dfb150de56738e
Reviewed-on: https://chromium-review.googlesource.com/207254
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
18fe4294
|
2014-07-22T13:03:06
|
|
Added virtual destructors to VertexArrayImpl and BufferImpl
Change-Id: Ib9d8b2fc85b63f0cd52a2b19129a88ba7acbc017
Reviewed-on: https://chromium-review.googlesource.com/209380
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
6cf8e1b9
|
2014-07-03T13:03:57
|
|
Reduce the number of TextureFormatCaps members.
Since GL has no notion of texture formats that can be used for different
types of textures, merge the TextureFormatCaps texture support members.
Also merge the various renderability members since the texture type is
enough to determine what type of renderable a format is.
BUG=angle:658
Change-Id: I7cba50b147fcca8f3880d65c06c57df9c65ed19c
Reviewed-on: https://chromium-review.googlesource.com/206830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ad8636ee
|
2014-07-09T12:10:03
|
|
Fix missing EGL extension function exports.
BUG=angle:490
Change-Id: Ie4e7b0075f60676aa5f9fb51a0d6fb8f84b9ed90
Reviewed-on: https://chromium-review.googlesource.com/207140
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f0955f15
|
2014-06-20T16:07:07
|
|
Update the samples and tests to use eglGetPlatformDisplayEXT.
BUG=angle:490
Change-Id: I5a685e42089377b5c600cd1f7ca8bd9a6654b3ba
Reviewed-on: https://chromium-review.googlesource.com/204939
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
591e6afe
|
2014-06-18T18:08:57
|
|
Add support for ANGLE_platform_angle.
BUG=angle:490
Change-Id: If3c897a9ae3d27b96e4b9bf9475a9ac23a1090ba
Reviewed-on: https://chromium-review.googlesource.com/185396
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
78b1acdb
|
2014-07-15T15:33:07
|
|
Refactored Texture3D, separated out D3D logic
BUG=angle:688
Change-Id: I6cda73c2e4c8a026b8c5222bc40cea93ad4e0ba3
Reviewed-on: https://chromium-review.googlesource.com/208102
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0511e808
|
2014-07-14T16:27:26
|
|
Refactored TextureCubeMap, separated out D3D logic
BUG=angle:688
Change-Id: I2300aaad4fab25df484e0bc3613ac3b176addc93
Reviewed-on: https://chromium-review.googlesource.com/208191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
11c26b9c
|
2014-07-18T14:21:22
|
|
Refresh generated projects.
Change-Id: I46845edcd6e8334ca56b411ecb8677dfaebf8a07
Reviewed-on: https://chromium-review.googlesource.com/208861
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
04bac60c
|
2014-07-16T14:19:18
|
|
Explicitly list files for the build.
Removes shelling out to enumerate_files for the main targets (tests
and examples are currently unchanged) in favor of explicitly listing
out the files in the build.
There are a number of reasons. My immediate reason is that doing this
allows the file lists to be shared with the GN build so the GYP and GN
builds of angle should mostly automatically stay in sync now. In
addition, I don't think we should be enumerating files in GYP. No
other Chrome sub-projects do this, and Chrome engineers expect files
to be listed in .gyp* files. It's also slower to shell out a bunch of
times to get the file lists (this matters more in the GN build which
runs very quickly).
Updates the GN build to share these file lists. This unbreaks the
Windows GN Angle build.
BUG=angle:698
Change-Id: Iab8829628aeb7232bb64f4c247c35c6485bba3ee
Reviewed-on: https://chromium-review.googlesource.com/208461
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brett Wilson <brettw@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
e40d1e9c
|
2014-07-16T17:40:36
|
|
Fix style violations.
BUG=angle:650
TEST=no behavior change
Change-Id: I3096615a181b1ec2c18ce60566c3d6249975b84e
Reviewed-on: https://chromium-review.googlesource.com/208569
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b759a748
|
2014-07-17T10:40:49
|
|
Fix test class names to reflect their class-ness.
Style guide dictates a camel case scheme for classes. Since the tests
are actually classes, update their names to reflect that.
Change-Id: Ib7422b6d8c5de8414765439704fc103eae8b2d63
Reviewed-on: https://chromium-review.googlesource.com/208680
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
75ec7c5b
|
2014-07-17T15:00:38
|
|
Fix "error: extra qualification 'rx::ImageD3D::' on member 'makeImageD3D'"
As reported by GCC 4.8.1/MinGW.
Change-Id: If62d234074a0a9180f1f3c3619dbb2dd8047d0f3
Reviewed-on: https://chromium-review.googlesource.com/208670
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Andrew Knight <andrew.knight@digia.com>
|
|
5b130dcc
|
2014-07-11T17:02:05
|
|
Do not create dummy variables when linking uniforms.
This cleanup prepares us for removing the uniform register info
from the shader translator types.
BUG=angle:466
Change-Id: I86f47970b793135f410a5ef698fc96d44219ee96
Reviewed-on: https://chromium-review.googlesource.com/207253
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
66d43d24
|
2014-07-11T17:02:03
|
|
Refactor ProgramBinary uniform linking code.
This prepares us for moving most of the register assignment to the
ProgramBinary class itself, and cleans up the various methods.
BUG=angle:466
Change-Id: Ie2965ed41ac50617584fd7a6d7b0ec2784e7dfaf
Reviewed-on: https://chromium-review.googlesource.com/207252
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
cd68fe79
|
2014-07-11T10:45:44
|
|
Add a compiler option to rewrite vec/mat constructors
If one of the parameters is a vec/mat, expand it into scalars.
This is to work around Linux NVIDIA/AMD and Mac NVIDIA driver bugs.
BUG=angle:695
TEST=webgl conformance test
Change-Id: I35e1e25167d99f873dcb03bfb57a30e84b1aeed5
Reviewed-on: https://chromium-review.googlesource.com/207479
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
fc43d273
|
2014-07-11T17:02:02
|
|
Remove the sh::InterfaceBlock::dataSize member.
We can replace this by doing the same calculation in the HLSL-side
code.
BUG=angle:466
Change-Id: Iecae4a92e9037e851419ce73e6267094ee8071a2
Reviewed-on: https://chromium-review.googlesource.com/207251
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
d4116ff3
|
2014-07-11T17:02:01
|
|
Remove sh::InterfaceBlock::registerIndex.
This value is HLSL-only and we can use the new query API to hide it
from GLSL programs.
BUG=angle:466
Change-Id: I75dc2fbbf1b29b1f6d561568174a15dea1f5b130
Reviewed-on: https://chromium-review.googlesource.com/207250
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
f47bebc4
|
2014-07-09T14:28:42
|
|
Refactored Texture2D, separated out D3D logic
BUG=angle:688
Change-Id: I93c2ff0b125278234d61324844b79cc58135d4d8
Reviewed-on: https://chromium-review.googlesource.com/207675
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
53a94a82
|
2014-06-24T15:20:36
|
|
Refactors State to be a fully-qualified class
BUG=angle:685
Change-Id: I36cff2da985a12c7180fe2850ccd471f4cebbaad
Reviewed-on: https://chromium-review.googlesource.com/206634
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1da3cf63
|
2014-06-27T15:32:23
|
|
Removes sub-entry-point Framebuffer validations
BUG=angle:685
Change-Id: I2d630396a5971972f858cca9c39ceb6509492aa4
Reviewed-on: https://chromium-review.googlesource.com/205836
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aa2ab7d8
|
2014-06-24T17:51:51
|
|
Cache bound FBO and VAO objects themselves in State
BUG=angle:685
Change-Id: I19ae6752d1a7490122dd9ca076efb08564e1901d
Reviewed-on: https://chromium-review.googlesource.com/205835
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a1851e8f
|
2014-07-10T17:09:12
|
|
Fixes for re-enabling more MSVC level 4 warnings: angle/ edition
This contains fixes for the following sorts of issues:
* Signedness mismatch
BUG=81439
TEST=none
Change-Id: Ief116d4b79b63479641259119246bb1465bbfd1f
Reviewed-on: https://chromium-review.googlesource.com/207418
Reviewed-by: Alok Priyadarshi <alokp@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6518fe24
|
2014-07-08T15:16:52
|
|
Moved TextureStorage and Image into d3d
BUG=angle:688
Change-Id: I98ffa1082340a829a77fe5082958898b9c6ab1a2
Reviewed-on: https://chromium-review.googlesource.com/207054
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
d4cfa57d
|
2014-07-08T10:00:32
|
|
Move more draw call validation to the API.
The GL expects us to reject invalid draw calls before we start
doing any work, so we can prevent internal unnecessary state
changes.
Also update the program binary's cached sampler data when we
validate. The previous patch was breaking draw calls in Google
Earth WebGL.
BUG=angle:571
BUG=390412
Change-Id: I1c4e204ae2467afc36b76af975a3a49e26349639
Reviewed-on: https://chromium-review.googlesource.com/206482
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f6d38b05
|
2014-07-14T11:54:41
|
|
Fix CollectVariablesTest GCC/Clang compile errors.
BUG=angle:696
Change-Id: I193f6771d85f2b777e84dc4d650b50fb31875489
Reviewed-on: https://chromium-review.googlesource.com/207770
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
4e1fd412
|
2014-07-10T17:50:10
|
|
Store a map of interface block registers.
The shader translator can return the assigned register for a
block via a new API. This will let us delete the member variable
in interface blocks for the register -- a nice thing for GLSL.
BUG=angle:466
Change-Id: I9bc38e0cd031e32f90787be42c2324fc7c79dbf9
Reviewed-on: https://chromium-review.googlesource.com/206828
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
829e89ef
|
2014-07-10T17:50:09
|
|
Add a default constructor to sh::ShaderVariable.
This cleans up a few repeated lines of code in shadervars.h.
BUG=angle:466
Change-Id: Ie77130e8420d28df790bf9bc036d52fd053b3ce9
Reviewed-on: https://chromium-review.googlesource.com/206827
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
d5512cd4
|
2014-07-10T17:50:08
|
|
Collect shader outputs and interface block information.
This paves the way for returning ES3-specific info from the shader
translator with the new query methods.
BUG=angle:466
Change-Id: Ib13cdb604854cdf11e9dc00dd94f18eadc946561
Reviewed-on: https://chromium-review.googlesource.com/206770
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
0b7e5d8c
|
2014-07-11T16:33:09
|
|
Fix 64-bit warnings.
BUG=angle:631
Change-Id: I76439ca2549916d594a54a4a9a35387d80b023ba
Reviewed-on: https://chromium-review.googlesource.com/207441
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c0b9ef4b
|
2014-07-02T10:02:37
|
|
Split Caps into Caps, Extensions and TextureFormatCaps.
Context now holds it's own Caps, Extensions and TextureFormat caps so that it
can modify them based on client version or work-arounds.
BUG=angle:658
Change-Id: Id71b6c89b7aa36e1f3dc42b0e4720eaed1851fb9
Reviewed-on: https://chromium-review.googlesource.com/206480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|