|
7acae0a1
|
2014-09-24T17:10:51
|
|
Add a centralized workarounds module.
This is a temporary home for the various workarounds we use
for performance or to solve driver issues. Eventually we will
want a standalone library we can use as part of Chromium or
in ANGLE standalone.
Re-land with member variable initialized.
BUG=angle:729
Change-Id: If7f8f9596a39b2855366d9a67caebf6dd4197b55
Reviewed-on: https://chromium-review.googlesource.com/219868
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
57f20894
|
2014-09-29T23:05:36
|
|
Revert "Add a centralized workarounds module."
Was missing an initialization in Renderer.cpp.
This reverts commit 815a1dc3710c48ecc84539b7ffb15860f6738f6c.
Change-Id: Ia4666911c2ff58660e0ab5c7cec4431b1c30a1e1
Reviewed-on: https://chromium-review.googlesource.com/220420
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
815a1dc3
|
2014-09-24T17:10:51
|
|
Add a centralized workarounds module.
This is a temporary home for the various workarounds we use
for performance or to solve driver issues. Eventually we will
want a standalone library we can use as part of Chromium or
in ANGLE standalone.
BUG=angle:729
Change-Id: Ib0254262cad9f8fb779886dacb967be646ea96ae
Reviewed-on: https://chromium-review.googlesource.com/219838
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
eb99436e
|
2014-09-24T10:27:28
|
|
Moving Shader Executables into ProgramD3D
BUG=angle:731
Change-Id: I677fc9773914307184bcdd9ab7ac564956d77f6a
Reviewed-on: https://chromium-review.googlesource.com/219814
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44151a97
|
2014-09-10T11:32:25
|
|
Removed the last references to DynamicHLSL from ProgramBinary.
Migrated several more non-generic values from ProgramBinary the D3D impl.
BUG=angle:731
Change-Id: Ic043dd75328cffbc6bef6556da801c382b4138bc
Reviewed-on: https://chromium-review.googlesource.com/219390
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
c77e8c39
|
2014-09-08T16:28:24
|
|
Update the draw calls to return Error objects.
BUG=angle:520
Change-Id: I3330ba2dbe095fc9460789822a938420a80a149f
Reviewed-on: https://chromium-review.googlesource.com/213823
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
76b10c9a
|
2014-09-05T16:28:14
|
|
Use dynamically sized containers for texture and sampler bindings.
BUG=angle:685
Change-Id: I7af97a95deee69fbdebca2b57403244f45516e67
Reviewed-on: https://chromium-review.googlesource.com/216564
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
22502d52
|
2014-08-29T16:58:36
|
|
Moving more D3D-only logic into ProgramBinaryD3D
BUG=angle:731
Change-Id: Ia62ec9a912c8bd63fcee51ca206d52688dd999da
Reviewed-on: https://chromium-review.googlesource.com/217495
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
c9610c51
|
2014-08-25T17:02:59
|
|
Starting refactor of ProgramBinary
This is gonna take a while...
BUG=angle:731
Change-Id: Ief72c3361b6429f3f6e0bc2d2ea0810d523ff178
Reviewed-on: https://chromium-review.googlesource.com/215661
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
43a53e24
|
2014-08-28T16:23:22
|
|
Converted ProgramBinary to use Context caps instead of Renderer
BUG=angle:731
Change-Id: I9bbce69cabf767fb5fb2c94f437a9950bc79d1aa
Reviewed-on: https://chromium-review.googlesource.com/215370
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
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>
|
|
7162096e
|
2014-08-20T14:04:59
|
|
More shader refactor cleanup
Removed VertexShader and FragmentShader in favor of using a single Shader object
Used VertexShaderD3D and FragmentShaderD3D directly when appropriate.
BUG=angle:731
Change-Id: Ib1ffdf85ee0bfa7c88bb9ddb1029ccbd63a9dbe1
Reviewed-on: https://chromium-review.googlesource.com/213840
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
a6f267f9
|
2014-08-27T11:44:15
|
|
Fix row-major layout tracking in interface blocks.
Some block field types, such as nested structs, were bugged. This
only affects our "CollectVariables" path, not our current HLSL
UBO path.
BUG=angle:466
Change-Id: I2b8daf58aa7ec1ad06a80d38f57e76087eacccdc
Reviewed-on: https://chromium-review.googlesource.com/213503
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
99a1e985
|
2014-08-25T15:47:54
|
|
Move GetUniform size validation to top layer.
BUG=angle:571
Change-Id: Ie7064cf85f6a125ccd6cdf1bff89443520e2a06d
Reviewed-on: https://chromium-review.googlesource.com/212932
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
42bcf32e
|
2014-08-25T16:20:46
|
|
Refactor ShaderVariables to store fields in the base.
Instead of only storing structure information in Varyings, Uniforms
and Interface Block Fields, store it in the base class. Also only
store base variable information for struct fields, instead of fully
typed information. This works because stuff like interpolation type,
invariance, and other properties are for the entire variable, not
individual fields.
Also add new fields for interface block instance name, varying
invariance and structure name for all struct types.
BUG=angle:466
Change-Id: If03fc071e6becb7aad6dea5093989bba7daee69e
Reviewed-on: https://chromium-review.googlesource.com/213501
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
900013cd
|
2014-07-07T11:32:19
|
|
Add caps from the 6.29 table.
BUG=angle:658
Change-Id: I392f581b1aea445d60f507c1fa897c4348c1a137
Reviewed-on: https://chromium-review.googlesource.com/207371
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
f51639a4
|
2014-06-25T16:04:57
|
|
Use a common include for GL headers.
A common place to define required GL includes gives us a nice
point to centralize GL customizations. In the header currently
are the basic GLES headers with extensions, and a define
carried over from desktop GL.
BUG=angle:466
Change-Id: I6fc61947b4514654ec21355a786904eac04656c0
Reviewed-on: https://chromium-review.googlesource.com/204936
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
f2575989
|
2014-06-25T16:04:54
|
|
Use the sh namespace for shader variables.
Since these types originate from the translator, use an appropriate
namespace. Also rename some of the gl helper functions to be more
specific to their functionality.
BUG=angle:466
Change-Id: Idc29987b2053b3c40748dd46b581f3dbd8a6fd61
Reviewed-on: https://chromium-review.googlesource.com/204680
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
c7a41049
|
2014-06-23T12:03:25
|
|
Moved D3D specific files and folders under the D3D folder.
Change-Id: I8afd67e08ee558fe94532c377d079673357a7192
Reviewed-on: https://chromium-review.googlesource.com/205229
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4ace423c
|
2014-06-18T19:12:48
|
|
Disable dynamic pixel shader generation.
Always generate the same pixel shader no matter what framebuffer is bound.
BUG=angle:670
Change-Id: I3fa91ff43363d49b38a19d3815ea523946c675d5
Reviewed-on: https://chromium-review.googlesource.com/204573
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
04fb89ad
|
2014-06-09T15:05:36
|
|
Generate pixel shader output to match the bound framebuffer.
Only generate pixel shader output variables for render targets that are
currently bound. Fixes some performance issues with D3D10 cards that were
slow to discard unused outputs.
Fixed memory leaks in ProgramBinary by refactoring the freeing of the
current state into a reset function.
BUG=angle:670
Change-Id: I40f83e15724fb9a1a9ae61363a056999f1fa26d2
Reviewed-on: https://chromium-review.googlesource.com/202977
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d7e7d735
|
2014-05-27T16:10:46
|
|
Move the GL_APICALL and similar defines to the project level.
BUG=angle:658
Change-Id: Ib4fa10bb89a6658efbc20d5a763d8ec9c3a5506f
Reviewed-on: https://chromium-review.googlesource.com/201465
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3639892d
|
2014-05-20T14:51:53
|
|
Move all uniform validation from ProgramBinary to API layer.
This will have the contract of having a successful API call once we
call into the ANGLE internals, having successfully passed valiation.
BUG=angle:571
Change-Id: Ia8d6eccc1e42bdf9e9cc5c10094a08729b42778a
Reviewed-on: https://chromium-review.googlesource.com/200075
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
07d68856
|
2014-05-06T16:31:14
|
|
Move the implementations of shader var init to the header.
Making the contructors for shader variables inline saves us from
exporting them across DLL boundaries. This makes it easier to use
them in the translator when building the translator as a DLL.
BUG=angle:466
Change-Id: Iee0556e06dc1f9e98fe9eea6577819305de0dd0b
Reviewed-on: https://chromium-review.googlesource.com/198555
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7a29e4ae
|
2014-05-02T10:41:48
|
|
Stop generating duplicate vertex binaries.
We would generate multiple vertex binaries that result in the same
HLSL code, eg for vec2 and vec3 vertex attributes. Eliminate
duplicates by using the converted attribute type for testing
for matching binaries.
BUG=angle:599
Change-Id: I061588164577ff9fa69ebb7d8a3f2bf6bb6fe013
Reviewed-on: https://chromium-review.googlesource.com/197830
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
834e8b77
|
2014-04-11T13:33:58
|
|
Move ShaderVariables to common shared source.
Also move the block layout encoding utilities to the common folder.
The combined changes allow us to include the shader and block code
into both libGLESv2 and the translator separately. This in turn
fixes the Chromium component build, where we were calling internal
translator functions directly from libGLESv2.
BUG=angle:568
Change-Id: Ibcfa2c936a7c737ad515c10bd24061ff39ee5747
Reviewed-on: https://chromium-review.googlesource.com/192891
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8b4f8f84
|
2014-03-26T14:01:58
|
|
Fix D3D11 resource leaks.
A few bugs, like missing destructors or Release calls were leaking
D3D resources in a few places on exit. This patch should fix all the
unreleased D3D object warnings on exit when running a sample app.
BUG=angle:589
Change-Id: Ib50df3229998938cddc2859d6f2d19ddd3a4db47
Reviewed-on: https://chromium-review.googlesource.com/190079
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
48dcae7b
|
2014-02-05T16:28:24
|
|
Added transform feedback shader generation.
BUG=angle:495
Change-Id: I41a0177fd3eb43c9f4ab9e54faeadac3eb483c2c
Reviewed-on: https://chromium-review.googlesource.com/185035
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
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>
|
|
3f2daa89
|
2013-08-07T12:58:57
|
|
Presort reverse mapping of ProgramBinary::mSemanticIndex.
|
|
28167c62
|
2013-08-30T13:21:10
|
|
Add support for struct varyings, and more robust varying link validation.
TRAC #23749
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
a6da33a1
|
2013-08-30T13:21:07
|
|
Remove the gl::Varying class, and replace all usages with sh::Varying.
TRAC #23746
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
9d2ffb1d
|
2013-08-30T13:21:04
|
|
Refactor sh::Uniform and sh::ShaderVariable into a shader variable base type with different child types.
This change gives us better memory usage (many fields are unnecessary in different types) with better static
typing and clear type abstraction for specific methods that might take Attributes or Varyings, etc.
TRAC #23754
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
43e8ba8a
|
2013-07-09T10:35:15
|
|
Support 3D textures.
TRAC #23472
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens
|
|
defb674a
|
2013-06-20T11:55:51
|
|
Add a new path for querying active attributes from the shader translator, for use with layout qualifier support.
TRAC #23269
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
|
|
d1e78c9c
|
2013-06-20T11:55:50
|
|
Implement GetFragDataLocation, often used by applications with MRT shaders in GLSL ES version 300.
TRAC #22704
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Authored-by: Jamie Madill
|
|
46131a38
|
2013-06-20T11:55:50
|
|
Proper support for fragment output variables for GLSL ES shader version 300.
TRAC #22704
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Authored-by: Jamie Madill
|
|
63491eae
|
2013-06-06T11:56:45
|
|
Rename UniformLocation to VariableLocation, and add an arrayString helper method to ProgramBinary.
TRAC #23268
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Authored-by: Jamie Madill
|
|
70961b33
|
2013-05-30T00:17:48
|
|
Add support for structures in interface and uniform blocks.
Also redesigns the uniform block layout computation to be more general.
TRAC #23018
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2387 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
83ac5e82
|
2013-05-30T00:15:29
|
|
Add the shader version of the compiled shaders to the program binary.
Also increment the binary version.
TRAC #23182
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2368 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a2ecfccc
|
2013-05-30T00:11:59
|
|
Moved utilities.h/cpp and mathutils.h to the shared common code folder.
The HLSL translator needs to compute the sizes of various GL types for computing block layouts.
TRAC #22930
Signed-off-by: Nicolas Capens
Signed-off-by: Geoff Lang
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2342 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1bddfb98
|
2013-05-30T00:11:29
|
|
Pass uniform buffers active bound to uniform blocks of the active program to HLSL/D3D constant buffers.
TRAC #22892
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2339 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1500f093
|
2013-05-30T00:11:20
|
|
Add uniform block linking between the API, the program binary, and the compiler.
TRAC #22892
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2338 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7923dd2b
|
2013-05-30T00:11:04
|
|
Properly validate struct uniform linking between the vertex and pixel shaders.
This also implements proper struct validation for uniform blocks.
TRAC #22932
Signed-off-by: Nicolas Capens
Signed-off-by: Geoff Lang
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2336 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e684b58a
|
2013-05-30T00:07:42
|
|
Add support for querying number of active uniform blocks/block name max length from a program object.
TRAC #22858
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2311 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e7317ca8
|
2013-05-30T00:07:35
|
|
Implement glGetActiveUniformBlockiv.
TRAC #22858
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2310 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
beb02783
|
2013-05-30T00:07:28
|
|
Implement glGetActiveUniformBlockName.
TRAC #22858
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2309 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
70eb1ea2
|
2013-05-30T00:07:20
|
|
Implement UniformBlockBinding, and necessary state to track uniform block bindings on the API side.
TRAC #22858
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2308 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
42766252
|
2013-05-30T00:07:12
|
|
Implement the API-side logic GetUniformBlockIndex. Functionality depends on shader support.
TRAC #22858
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2307 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d7784174
|
2013-05-30T00:07:03
|
|
Add state for uniform blocks to ProgramBinary, along with loading and saving of the new binary format.
Updated Version.h with this patch.
TRAC #22858
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
Conflicts:
src/common/version.h
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2306 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2a9a9d23
|
2013-05-30T00:05:40
|
|
Implement glGetActiveUniformsiv, querying specific uniform properties.
TRAC #22865
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2294 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c2ed991c
|
2013-05-30T00:05:33
|
|
Implement GetUniformIndices, for retrieving active uniform indices from their names.
TRAC #22865
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2293 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7bc65f2e
|
2013-04-13T03:41:39
|
|
Generate the same code once for fragment and vertex varyings.
TRAC #22857
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2153 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e229012c
|
2013-04-13T03:41:07
|
|
Add support for unsigned int uniform types to the getUniform series of methods.
TRAC #22845
Signed-off-by: Geoff Lang
Signed-off-by: Shanon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2148 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4590d89d
|
2013-04-13T03:41:01
|
|
Refactor the ProgramBinary::getUniform family of calls to use a private generic method.
TRAC #22845
Signed-off-by: Geoff Lang
Signed-off-by: Shanon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2147 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
50ea4ab5
|
2013-04-13T03:40:36
|
|
Added support for unsigned integer uniforms. Depends on shader language support for the same.
TRAC #22842
Signed-off-by: Geoff Lang
Signed-off-by: Shanon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2143 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8a19eed9
|
2013-04-13T03:40:22
|
|
Refactor ProgramBinary::setUniform[XX] to use a generic template function, reducing duplicated code.
TRAC #22842
Signed-off-by: Geoff Lang
Signed-off-by: Shanon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2141 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a741b641
|
2013-04-13T03:40:10
|
|
Add support for the transpose parameter of the glUniformMatrix family of functions in ES3.
TRAC #22839
Signed-off-by: Geoff Lang
Signed-off-by: Shanon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2139 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f130616e
|
2013-04-13T03:40:04
|
|
Add support for non-square matrix uniforms. Depends on implementing shader support for the same.
TRAC #22839
Signed-off-by: Geoff Lang
Signed-off-by: Shanon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2138 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
36c76a91
|
2013-04-13T03:39:58
|
|
Make ProgramBinary::setUniformMatrix[X]fv a generic template method.
TRAC #22840
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2137 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f26ddae9
|
2013-04-13T03:29:13
|
|
Added the GLES3 headers and updated all locations where the GLES2 headers were included to also include the GLES3 headers.
TRAC #22694
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2069 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
486d9e9b
|
2013-02-28T23:15:41
|
|
Remove a lot of unnecessary include files and break include chains.
This should speed up incremental compile times when modifying headers, by reducing the number of dependencies.
TRAC #22518
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1937 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0b60014b
|
2013-02-28T23:15:04
|
|
Sort the elements of the D3D11 input layouts before we store them in the cache.
This prevents a D3D11 error complaining that the input layout
uses a different ordering of the vertex elements than the vertex shader.
TRAC #22561
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1931 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4f4215f7
|
2013-02-28T23:14:58
|
|
Make some getter functions in ProgramBinary const.
TRAC #22561
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1930 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d2811d68
|
2013-02-28T23:11:19
|
|
Break some of the include chains that cause unneeded dependencies between headers.
TRAC #22499
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1904 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3e773bb4
|
2013-01-25T21:55:47
|
|
Implement gl_PointSize point sprite emulation using D3D11 geometry shaders.
TRAC #22412
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1786 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5bcf7dfb
|
2013-01-25T21:55:33
|
|
Move the call to packVaryings outside of linkVaryings.
TRAC #22412
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1784 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
233fe954
|
2013-01-25T21:51:57
|
|
Added support for vertex texure fetch in DX11 mode.
Trac #22354
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1757 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ed36abd8
|
2013-01-11T21:15:58
|
|
Move dirty DX constant tracking from Context to the Renderers.
TRAC #22308
Signed-off-by: Geoff Lang
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1713 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a390e1ee
|
2013-01-11T04:09:39
|
|
Implemented support for DX11 driver uniforms by assigning fixed register slots.
TRAC #22369
Signed-off-by: Daniel Koch
Signed-off-by: Geoff Lang
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1682 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
db019952
|
2012-12-20T21:13:32
|
|
Eliminated storing decorated uniform names.
TRAC #22326
Signed-off-by: Daniel Koch
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1635 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2275f915
|
2012-12-20T21:13:22
|
|
Eliminated D3DConstantTable.
TRAC #22326
Signed-off-by: Daniel Koch
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1634 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
68aaf936
|
2012-12-20T21:13:16
|
|
Always link uniforms directly retrieved from the compiler.
TRAC #22326
Signed-off-by: Daniel Koch
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1633 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
da8d3801
|
2012-12-20T21:12:55
|
|
Implemented support for DX11 sampler uniforms.
TRAC #22242
Signed-off-by: Daniel Koch
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1630 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fdc7f56b
|
2012-12-20T21:12:37
|
|
Link uniforms.
TRAC #22239
Signed-off-by: Daniel Koch
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1627 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
15186aa7
|
2012-12-20T21:08:23
|
|
Move Uniform to separate files.
TRAC #22245
Signed-off-by: Daniel Koch
Signed-off-by: Geoff Lang
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1595 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b6e55102
|
2012-12-20T21:08:14
|
|
Move setting the uniforms to the Renderer implementation.
TRAC #22245
Signed-off-by: Daniel Koch
Signed-off-by: Geoff Lang
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1594 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
593ebc41
|
2012-12-20T20:56:46
|
|
Apply DX constants directly.
TRAC #22245
Signed-off-by: Daniel Koch
Signed-off-by: Geoff Lang
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1584 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
88853c50
|
2012-12-20T20:56:40
|
|
Don't expose DX constants as GL uniforms.
TRAC #22245
Signed-off-by: Daniel Koch
Signed-off-by: Geoff Lang
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1583 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
12985188
|
2012-12-20T20:56:31
|
|
Combine dx_Depth and dx_FrontCCW into dx_DepthFront.
TRAC #22245
Signed-off-by: Daniel Koch
Signed-off-by: Geoff Lang
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1582 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7386858e
|
2012-12-20T20:56:10
|
|
Compute gl_FrontFacing using a single float constant.
TRAC #22245
Signed-off-by: Daniel Koch
Signed-off-by: Geoff Lang
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1580 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
31240487
|
2012-11-28T21:06:41
|
|
Changed D3DConstant table, IndexDataManager,VertexDataManager and vertexconversion namespaces.
TRAC #22198
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1548 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
50aadb05
|
2012-11-28T21:06:11
|
|
Moved D3DConstantTable, IndexDataManager, VertexDataManager and vertexconversion files.
TRAC #22198
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1547 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
77fbf973
|
2012-11-28T21:02:55
|
|
Skip applying uniforms for the D3D11 renderer (unimplemented for now), to make ProgramBinary back-end independent.
TRAC #22191
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1526 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4f0f65ee
|
2012-11-28T21:00:00
|
|
Get rid of ShaderExecutable9 usage in ProgramBinary
Trac #22155
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1510 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f0516cfd
|
2012-11-28T20:59:18
|
|
Inline the Renderer9::compilerShaderSource function
Trac #22155
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1506 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
95892416
|
2012-11-28T20:59:09
|
|
Store ShaderExecutables on the ProgramBinary instead of d3d9 shaders
Trac #22155
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Also hooks up binary loading to the loadExecutable function.
The other notable change is that getVertex/Pixel shader no longer
add reference counts to the returned objects.
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1505 736b8ea6-26fd-11df-bfd4-992fa37f6226
|