|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
9eeecfc2
|
2014-01-29T09:26:48
|
|
Split DXGI format info to a GL mapping and info block.
The GL mapping depends on context client version (for certain depth
textures), but the DXGI base format info is consistent across
versions. Also add DXGI component type information to the table,
and add a few missing formats related to vertex inputs.
Change-Id: I2d1a8ca92b1cb39f4592d94d7d435ae0ada1de65
Reviewed-on: https://chromium-review.googlesource.com/183583
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6246dc8f
|
2014-01-29T09:26:47
|
|
Track dirty D3D shaders instead of program serial.
With dynamic shaders, we can have multiple vertex shaders in one
program binary. Hence the binary serial by itself isn't enough to
determine when we need to apply new shaders to D3D.
Change-Id: I5a8b8616d353b506790ffc809e2d459bfc2b831d
Reviewed-on: https://chromium-review.googlesource.com/184370
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
648c9683
|
2014-01-21T16:50:58
|
|
Minor optimizations to texture functions.
By shuffling some parameters and calls around we can reduce the
number of function calls we run for texture operations.
Change-Id: If6d14cb6dff668cdfcb2f1fe6705e0d488dbc03f
Reviewed-on: https://chromium-review.googlesource.com/183582
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ec91cd32
|
2014-01-21T16:38:12
|
|
Clamp stencil reference value to D3D11 8-bit limitations.
D3D11 can only mask 8 bits of a stencil reference value, so the
upper bits are ignored. GL, however, expects the reference value
to be able to scale to 32-bits.
We will expect to fail certain edge cases where the reference value,
and mask, both use particular 9+ bit values.
Change-Id: I8c7451270d9e40310f4154955d38e51bbf7de4df
Reviewed-on: https://chromium-review.googlesource.com/181555
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
24112d68
|
2014-01-21T16:39:19
|
|
Only use 4-channel shaders for unpack buffers.
D3D11 supports sampling other channel sizes of backing object
and declaring them as 4-vectors in HLSL. This allows us to
simplify the logic for fast unpack shaders significantly.
Source:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb509700(v=vs.85).aspx
(Default Values for Missing Components in a Texture)
Change-Id: I7f645372f266f57bd94cdb1c795f1d30bf2a60a4
Reviewed-on: https://chromium-review.googlesource.com/181901
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
9c53f1e9
|
2014-01-08T13:41:47
|
|
Add more D3D11 buffer usages.
Works around performance regressions when index and vertex buffer bind flags are used on the same buffer.
Change-Id: I28bc0d3147c6bd70cec507f20e41d97ec4cc45a5
Reviewed-on: https://chromium-review.googlesource.com/181911
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
91382e55
|
2014-01-07T16:16:30
|
|
Renderer11 tracks applied textures as SRVs.
Since swizzled textures have multiple SRVs and the same serial,
it was possible that the bound SRV would not be updated if the
texture became swizzled while already bound.
Change-Id: Id06e82f4002aa7f7661c7a69243692aa65a83b48
Reviewed-on: https://chromium-review.googlesource.com/181772
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
67938efc
|
2014-01-07T16:17:21
|
|
Added missing depth swizzle backing formats and fixed compressed texture bit calculation.
Change-Id: I2390ace1fe5297f9fcad0c873c55dae564a09c43
Reviewed-on: https://chromium-review.googlesource.com/181773
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d2a88381
|
2014-01-06T14:03:51
|
|
Fix improper deferencing of a zero-size vector.
When doing a masked clear with only a depth-stencil buffer, we would
look for the zero-th element of an empty vector.
Change-Id: I17d61cf582c6e91fd46f8a8e13e35c6d32dfa109
Reviewed-on: https://chromium-review.googlesource.com/181554
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
80b5a55e
|
2014-01-03T10:57:11
|
|
Fix compressed formats breaking swizzle bits checks.
We defautled to zero max bit depth, which breaks the swizzle format lookup.
Change-Id: I4d1cd8bcfb79db3460950fa22630c259f90fa432
Reviewed-on: https://chromium-review.googlesource.com/181481
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
13a2f85b
|
2013-12-11T16:35:08
|
|
Implement max elements indices and vertices.
ES3 has integer queries for the maximum recommended number
of vertices and indices per draw call. These are roughly
correlated to D3D's resource limits -- however, while ES3
has recommended limits D3D has hard limits.
Change-Id: Ib653bc27e61607c78d0c5e70b0d97fea7af6464f
Reviewed-on: https://chromium-review.googlesource.com/179670
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
cd65ae16
|
2013-12-17T15:20:14
|
|
Trigger lost device on an error in D3D9 Present.
This fixes device remove handling on AMD systems, as well as notifying
the app layer there may have been an internal problem during Present.
BUG=313210
Change-Id: I843ffb3946dd9ef34fbd24b3a46a7b97e3c0fd16
Reviewed-on: https://chromium-review.googlesource.com/179140
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/180450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3b866b6c
|
2013-09-30T15:21:00
|
|
Clear11 will not clear channels that are not supposed to exist in the render target's format.
Change-Id: I9c2bb927ec63d67d315893d44f199ceab4b5df82
Reviewed-on: https://chromium-review.googlesource.com/176856
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
c142e9da
|
2013-09-30T15:19:47
|
|
Renderer classes now set their blend states to mask out channels that do not exist in the render target.
Change-Id: Ia49bf8de07bbdfa31275ec9835de28adc3717485
Reviewed-on: https://chromium-review.googlesource.com/176855
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
f8c2f5cb
|
2013-12-05T13:52:33
|
|
Fix indices not being offset to the bound vertex buffer when drawing indexed points in D3D9.
bug=angle:535
Change-Id: I5b86874cddbd3b90fe141e94085f5a4afb9f3db3
Reviewed-on: https://chromium-review.googlesource.com/179101
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
34256ed8
|
2013-09-30T15:15:52
|
|
Image and RenderTarget classes now initialize their textures if required.
Change-Id: I2cce6f4ffdc7e2a6c23c50d663c6316f9b125880
Reviewed-on: https://chromium-review.googlesource.com/176854
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
0c99b1b0
|
2013-09-30T15:07:43
|
|
Add functions to check if texture data initialization is required.
Change-Id: I54c3b90780c304d6001b9e52278672981c96cb83
Reviewed-on: https://chromium-review.googlesource.com/176853
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
2916b30e
|
2013-11-28T13:41:10
|
|
Removed extra AddRef and Release calls on D3D11 objects.
Change-Id: I5918c67735658912663c79e964b8edfb288784a3
Reviewed-on: https://chromium-review.googlesource.com/178450
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
fa3d9f30
|
2013-12-03T16:58:17
|
|
Fix swapchain resize errors when sizing to 0 width or height.
BUG=angle:519
Change-Id: I3d3d0746b2b3027d04c91cc5fdcd301930e3b22a
Reviewed-on: https://chromium-review.googlesource.com/178439
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
88f779dd
|
2013-12-03T10:57:56
|
|
Fix device removed handling for systems which do not
immediately allow recreating a new device.
On Intel systems there's a cool-down period when you must
wait before recreating the device.
BUG=313210
Change-Id: I22cdf41eecf0eae5058b59e1b0863173d604d606
Reviewed-on: https://chromium-review.googlesource.com/178437
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
|
|
a049fe1e
|
2013-12-02T13:14:57
|
|
Add NULL init for swizzle SRVs with eglBindTexImage textures.
Change-Id: I8a1069013f37988632db07359d65f8215041978e
Reviewed-on: https://chromium-review.googlesource.com/178431
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
42477a43
|
2013-09-17T17:07:02
|
|
Renderer11 now generates swizzles and invalidates the cached swizzles.
Change-Id: If5c998a91195942297beeb26a0ec635ff6a466ea
Reviewed-on: https://chromium-review.googlesource.com/177035
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
e2e0ce0c
|
2013-09-17T17:05:08
|
|
Context now detects if a texture needs to be swizzled and calls Renderer::generateSwizzles.
Change-Id: I89f30e028b1d6ec384536cdbeedd91bb98359e8f
Reviewed-on: https://chromium-review.googlesource.com/178440
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
644bbf24
|
2013-09-17T17:02:43
|
|
Added a swizzle cache to TextureStorage11.
Change-Id: Iebf297ef5b8560bb468428fc369eb3df8f43ec11
Reviewed-on: https://chromium-review.googlesource.com/177032
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
00f6bc32
|
2013-09-20T14:59:06
|
|
Add GetSwizzle*Format functions to formatutils11.
Change-Id: Idcd4aa5fd18c1629168ba7cdd41e8fb3f6c3ead3
Reviewed-on: https://chromium-review.googlesource.com/177031
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
ed883f54
|
2013-09-10T17:20:54
|
|
Added a swizzleTexture method to Blit11.
Change-Id: I0af836f761893c8928a84d138a6b2d07a3e04da6
Reviewed-on: https://chromium-review.googlesource.com/176989
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
3c9eeb97
|
2013-11-04T11:09:26
|
|
Disable optimizations for shaders with conditional discard in D3D9, and
only use expanded short-circuiting conditionals for expressions with
potential side-effects.
Conservatively assume aggreate and selection operators have side effects for now.
BUG=
ANGLEBUG=486
R=geofflang@chromium.org, kbr@chromium.org, nicolas@transgaming.com, shannonwoods@chromium.org
Review URL: https://codereview.appspot.com/14441075
Conflicts:
src/common/version.h
src/compiler/translator.vcxproj
src/compiler/translator.vcxproj.filters
src/compiler/translator/OutputHLSL.cpp
src/libGLESv2/ProgramBinary.cpp
src/libGLESv2/Shader.cpp
src/libGLESv2/Shader.h
Change-Id: Iaf9f10b5de7b33c927ef032f3c4fe9d5095f64dd
|
|
5a60b739
|
2013-11-26T09:49:23
|
|
Ensure stream source frequency for stream 0 is set to 1 in swapRect
for D3D9.
This prevents D3D errors which we could see when using the Debug runtime.
BUG=321834
Change-Id: I1dd66d9d80def5e558fc13c218fde9c4047ab2b4
|
|
b7935e51
|
2013-11-20T15:47:47
|
|
Proper handling of D3D9Ex device removed.
BUG=313210
Change-Id: I85dae10bc2ec38a1e9c09f318b8f6b9196466d60
|
|
1293cf4b
|
2013-11-21T18:33:44
|
|
Merge "Renamed some Blit11 types and methods to imply they are for blitting (as opposed to swizzleing)." into es3proto
|
|
453aaba4
|
2013-11-20T11:02:23
|
|
Don't let mBufferSize fall out of sync with the actual buffer size. Pervents unnecessary buffer re-creations.
Change-Id: Ie40300865dcd7830fe8eafbccfaa3edad46c7b52
|
|
26533604
|
2013-09-09T16:41:42
|
|
Renamed some Blit11 types and methods to imply they are for blitting (as opposed to swizzleing).
|
|
95f9f986
|
2013-10-21T17:09:19
|
|
Remove use of DXGI_FORMAT_R32G32B32_FLOAT as a backing format for GL_LUMINANCE32F_EXT.
TRAC #24036
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
89bf4bff
|
2013-10-31T10:32:46
|
|
Fixed a bug where the vertex data manager was not caching the current value attributes properly.
ANGLEBUG=489
Review URL: https://codereview.appspot.com/18670043
|
|
1ec57f80
|
2013-10-16T11:43:23
|
|
Add support for GL_EXT_color_buffer_float.
TRAC #23794
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
6b7440ca
|
2013-10-24T17:49:47
|
|
Remove TextureStorage::GetActualLevelCount.
TRAC #23978
|
|
4cfff5f3
|
2013-10-24T17:49:46
|
|
Modify texture storage classes to store a base and max level, instead of a range of levels.
TRAC #23978
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
b16b8ed7
|
2013-10-24T17:49:45
|
|
Add helper functions for returning the dimensions of a level in a texture storage.
TRAC #23978
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
169d1118
|
2013-10-24T17:49:37
|
|
Rename Texture and Image methods which operate on storage objects to refer to storage instead of textures.
TRAC #23961
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
2db197cd
|
2013-10-24T17:49:35
|
|
Use a consistent naming scheme for the cube map face index variables in Texture.cpp.
TRAC #23961
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
|
|
d4589c97
|
2013-10-24T17:49:34
|
|
Simplify passing the texture usage parameters through the texture classes.
Avoid passing a raw GLenum when possible.
TRAC #23961
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
e83d1a93
|
2013-10-24T17:49:33
|
|
Change Texture::convertToRenderTarget to ensureRenderTarget, which tries to convert a storage to a RT if it isn't already.
TRAC #23961
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
632192dd
|
2013-10-04T13:40:46
|
|
Added support for EXT_texture_rg in D3D9 and D3D11.
TRAC #22423
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
4133f5c2
|
2013-10-10T13:51:18
|
|
24bit depth formats need to flip the depth and stencil bits when loading.
TRAC #23540
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
88f9cbf2
|
2013-10-18T14:33:37
|
|
SwapChain11 now stores a SRV of it's depth stencil.
TRAC #24025
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
ba597af9
|
2013-10-22T13:12:15
|
|
Re-enable hazard warnings for setting render targets that are currently bound as SRVs.
We can manually unset applied textures in SetRenderTargets. This should fix the spurious warnings
while still showing a warning on error cases.
TRAC #24039
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
005df41f
|
2013-10-16T14:12:50
|
|
Use GLenum instead of GLint to store internal format variables.
TRAC #23785
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
2a6f956d
|
2013-10-18T17:25:45
|
|
Move the PBO unpack shaders to the proper folder.
These were not properly merged with the project changes.
TRAC #24028
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
|
|
036aa49b
|
2013-10-09T16:23:30
|
|
Disable warnings about size_t conversion and fix ambiguous template parameters in 64 bit builds.
TRAC #23409
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
53683053
|
2013-10-10T15:30:15
|
|
Support the "fast path" (GPU copies) for pixel unpack buffers in TexImage3D.
TRAC #23846
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
a2d4e55d
|
2013-10-10T15:12:01
|
|
Add support for pixel unpack buffers to TexImage3D.
TRAC #23846
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
|
|
4461f097
|
2013-10-10T15:10:39
|
|
Add support for the "fast path" (GPU copy) pixel unpack buffers in TexImage2D.
TRAC #23844
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
171ca0ea
|
2013-10-10T15:10:31
|
|
Refactor direct buffer storage to only create two backing buffers, for constant buffers and all other bindings.
This simplifies the logic used in retrieving the ID3D11Buffer.
TRAC #23844
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
851a4f66
|
2013-10-10T15:15:36
|
|
Add precompiled D3D11 shaders for pixel unpack buffers.
TRAC #23844
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
c8c102b5
|
2013-10-10T15:10:24
|
|
Add a helper method to return the native format backing a GL texture type.
TRAC #23844
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
0e0510fd
|
2013-10-10T15:46:23
|
|
Place the method responsible for checking for fast pixel unpack buffer support into the Renderer.
TRAC #23997
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
d47e0fcc
|
2013-08-29T11:40:43
|
|
Split the d3d9 and d3d11 backends into folders and updated the gyp file to use a python script to generate the file lists for the libGLESv2 and libEGL projects.
|
|
401a0bc5
|
2013-10-16T13:20:49
|
|
Fix D3D9 attributes being marked as requireing conversion when they did
not.
R=jmadill@chromium.org,shannonwoods@chromium.org
Review URL: https://codereview.appspot.com/14737043
|
|
71cc91fc
|
2013-09-18T12:51:22
|
|
Remove an assert statement to do with uniforms and element indexes.
This assert could trigger false positives on sampler types. We should eventually
replace our uniform handling logic with something more consistent with D3D11's
"everything is a constant buffer" model.
TRAC #23749
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
|