|
56cf9af2
|
2015-02-17T10:16:49
|
|
Add a FunctionsGL class for loading GL entry points.
BUG=angle:879
Change-Id: I35384f078d2ed86a6c72cc243753b56bc58617b0
Reviewed-on: https://chromium-review.googlesource.com/250390
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5b8b1087
|
2015-02-13T11:17:34
|
|
D3D: Re-init static buffer after invalidate.
This allows the Buffer class to always know if it's intended to
use static data vs dynamic. In some cases we would end up with
NULL pointers and not know if we started with static or dynamic
usage.
BUG=angle:912
Change-Id: I79ca62674543e0cf4b2ba9b31b6d8918723b31ce
Reviewed-on: https://chromium-review.googlesource.com/249460
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
026b4188
|
2015-02-13T11:17:33
|
|
Generalize NativeBuffer11::setData.
We can replace this method with a base class method which uses our
implementation of "map". This allows us to reuse setData in other
mappable buffer storage types.
BUG=angle:912
Change-Id: I7848cb9440b806364d9b2a6e2251323e53206921
Reviewed-on: https://chromium-review.googlesource.com/249182
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d2d21dca
|
2015-02-17T18:07:01
|
|
Revert "Resubmit "Compile the D3D11 VS and PS on separate threads at GL link time""
Causes errors in Clang-Win. We can fix the error and then resubmit, but need to do a roll now.
This reverts commit 310184861bab5e95139e0f34b1f8e88fe8c677b8.
Change-Id: I1c91b0a97031df33c2261089f6b54ccd3270306b
Reviewed-on: https://chromium-review.googlesource.com/250430
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f7b10164
|
2015-02-12T14:56:07
|
|
Fixed variable shadowing warnings
Change-Id: I7cf9e09f4003991e44195bedfe58891288541f81
Reviewed-on: https://chromium-review.googlesource.com/249432
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d8d58301
|
2015-02-13T15:46:04
|
|
Make Buffer11.cpp build with clang.
Change-Id: If72bc38dbb484e56a0a26c3aa7ac38bbc319653a
Reviewed-on: https://chromium-review.googlesource.com/249921
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d28f6113
|
2015-02-12T16:11:00
|
|
Fixed compressed texture support reporting for feature level 9_3
Change-Id: If6e27db912711532e184a3a716728a19653c0471
Reviewed-on: https://chromium-review.googlesource.com/249550
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
12892c91
|
2015-02-13T11:13:13
|
|
Remove the dependency on OpenGL32.lib by loading all WGL functions.
BUG=angle:879
Change-Id: I1a10a86b710cb0c76be1907136345bcac078da4d
Reviewed-on: https://chromium-review.googlesource.com/249740
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d12971af
|
2015-02-12T13:29:15
|
|
Fix Buffer11 staging buffer revision update.
This bug could trigger a potential extra copy when drawing with
a pack buffer (or possibly packing vertex/index data).
BUG=angle:912
Change-Id: Ifead6524322aac5bc0be79a05f4db08c8f5a3225
Reviewed-on: https://chromium-review.googlesource.com/249181
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
398d8e6e
|
2015-01-22T13:33:56
|
|
Add a basic WGL implementation.
BUG=angle:890
Change-Id: I5202086990b4f4fbf455fd73c3e29e5e3e1f6160
Reviewed-on: https://chromium-review.googlesource.com/240092
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f03bcad6
|
2015-02-11T16:46:09
|
|
Clean up the style in Buffer11.cpp.
Fix indentation, and simplify the naming scheme for the storage.
Also add some missing DISALLOW_COPY_AND_ASSIGN macros.
BUG=angle:912
Change-Id: I7ac36d8185ce926999501358cec222154d9a3492
Reviewed-on: https://chromium-review.googlesource.com/249180
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f9a6f084
|
2015-01-22T13:32:49
|
|
Add GL and WGL renderer stubs.
BUG=angle:890
Change-Id: I64f2a72b4a350f95acc2ca7080fea1a308422ca4
Reviewed-on: https://chromium-review.googlesource.com/242573
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ba887d90
|
2015-01-20T13:54:30
|
|
Store mShareHandle in SurfaceD3D.
The type of the share handle depends on the implementation.
BUG=angle:658
Change-Id: Id801f3d0c1e3def7cae5cbd88e7a7032b2f6d8fa
Reviewed-on: https://chromium-review.googlesource.com/242050
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
45b4e74a
|
2015-01-20T13:23:03
|
|
Move surface size information out of SurfaceImpl.
Some implementations need to query size information directly from their
native window instead of listening for size events and storing the result.
Also move mSwapInterval to SurfaceD3D since it doesn't need to be stored
in all cases and there is no query for it. It no longer requires that the
SurfaceImpl's derivation remembers to set mSwapInterval in
setSwapInterval too.
BUG=angle:658
Change-Id: I499c1b8b842254636fc25ff5f2a90107af8fe327
Reviewed-on: https://chromium-review.googlesource.com/242039
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f6bf23fd
|
2015-01-20T11:43:54
|
|
Split up the Display::create*Surface and have them match the API.
BUG=angle:658
Change-Id: Id0054406a5ce6f6ffef28ce84737547c1869efde
Reviewed-on: https://chromium-review.googlesource.com/242038
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b69a0923
|
2015-02-12T10:34:21
|
|
Fix UNREACHABLE being hit in Renderer9::applyTransformFeedbackBuffers.
Since applyTransformFeedbackBuffers is called even if transform feedback
is not active now, remove the UNREACHABLE.
Change-Id: Ibc43cb715f8035437986d1eaa94faf4036581d8f
Reviewed-on: https://chromium-review.googlesource.com/249121
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5274202f
|
2015-02-04T14:55:39
|
|
Unbind unused stream out from the D3D11 pipeline to avoid conflicts.
Also allow points drawing without gl_PointSize if transform feedback is
active.
Change-Id: I172d423e847b35b94ebaea102dd97b695575c828
Reviewed-on: https://chromium-review.googlesource.com/246100
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f4780c1c
|
2015-02-11T16:33:11
|
|
Use correct non-square register count in structs.
For struct varyings with nested structs, we would count registers
incorrectly, and produce D3D link errors.
This fixes tests in the dEQP's shaders.linkage.varying.struct.
BUG=angle:910
Change-Id: I47ea6dba36bf57cf94a7e7f30997c6c9096c2b40
Reviewed-on: https://chromium-review.googlesource.com/247243
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
2857f489
|
2015-02-09T15:35:29
|
|
Fix struct uniform packing.
Our current code would not adapt properly for members that did
not fit in the previous register. Instead, use the correct adjusted
value as returned from the block layout encoder.
This fixes a dEQP WebGL test: gles2/shaders/linkage.
BUG=angle:910
Change-Id: Id77d0c76ce767665b3db97cb4d14e8008254fd9f
Reviewed-on: https://chromium-review.googlesource.com/247241
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b2a5e342
|
2015-02-11T13:13:21
|
|
Return egl::Error from Renderer::initialize.
This extra Error info can be useful for passing back additional info.
In the short-term this means we can implement a UMA histogram at some
point with a code that represents a more specific reason why the
init failed.
BUG=436191
Change-Id: If5e099a9ce32e87843754cd4f40d726dd5bad4b8
Reviewed-on: https://chromium-review.googlesource.com/246564
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0fe40534
|
2015-02-10T12:01:27
|
|
Cache sampler completeness in the Texture class.
BUG=angle:909
Change-Id: I14e06e01d111e9d5eec415f4c2d831b61dcb1e3d
Reviewed-on: https://chromium-review.googlesource.com/248070
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
38832d17
|
2015-02-09T10:01:47
|
|
Add Display getters for native display and attribs.
This simplifies the logic in the Renderer init.
BUG=angle:905
Change-Id: I01bf3701dd85f50e369e2c11e0e2a7cb638ccf00
Reviewed-on: https://chromium-review.googlesource.com/247650
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b0eecdfd
|
2015-02-10T11:09:12
|
|
Reduce the calls to get[Width|Height|InternalFormat] in Texture.cpp.
BUG=angle:909
Change-Id: I8a66c1d317bcb7a01d79f9475390deb292e1ae2e
Reviewed-on: https://chromium-review.googlesource.com/248052
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
866dd2d1
|
2015-02-10T11:08:32
|
|
Store the texture image information in a std::vector instead of a std::map.
BUG=angle:909
Change-Id: Ib595306f6cf0633b16bff6389373c2bb2cc29ec9
Reviewed-on: https://chromium-review.googlesource.com/248051
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
83107970
|
2015-02-05T12:57:44
|
|
Implement eglQueryContext
BUG=angle:895
Change-Id: I5e709f772d6222cdb7b5d7c060830a75eac9f815
Reviewed-on: https://chromium-review.googlesource.com/246490
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
74ba76c4
|
2015-02-09T10:31:23
|
|
Move rx::MemoryBuffer to common library.
This class is not D3D-specific so can be shared among other
back-ends, or other parts of the ANGLE codebase.
Change-Id: Ie00760eb5dae4db52e465ee7a2f97789bae8c0b0
Reviewed-on: https://chromium-review.googlesource.com/246500
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
811b6352
|
2015-02-09T10:17:09
|
|
Add a script to generate a new Renderer.
Also refactor our current Impl headers slightly to facilitate
parsing by the generation script.
BUG=angle:905
Change-Id: Ib86cff71d18e7f911cf526b27b8a82757bacd738
Reviewed-on: https://chromium-review.googlesource.com/245497
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b0e83f46
|
2015-01-28T17:39:34
|
|
Catch errors in TextureStorage creation in TextureD3D::getNativeTexture.
BUG=450257
Change-Id: Iba75d9f0607177fff0bec7fcd2564a8d2e26da8e
Reviewed-on: https://chromium-review.googlesource.com/243882
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f81b6a15
|
2015-01-19T16:51:55
|
|
Move eglCreatePbuffer* validation into validationEGL.
BUG=angle:658
Change-Id: I25d1be1ef86f82892186b08c9a8ff0133d520ac6
Reviewed-on: https://chromium-review.googlesource.com/242037
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0eef0826
|
2015-01-19T16:22:40
|
|
Move eglCreateWindowSurface validation into validationEGL.
BUG=angle:658
Change-Id: Iaa7e6033fb323c1089907c9ed753746729887061
Reviewed-on: https://chromium-review.googlesource.com/242036
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
33b6ae54
|
2015-01-19T15:58:09
|
|
Move eglCreateContext validation into validationEGL.
BUG=angle:658
Change-Id: Ibdf601725536edf40c0499aba0402fb160b2c841
Reviewed-on: https://chromium-review.googlesource.com/242035
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
dd43fccc
|
2015-01-19T15:44:17
|
|
Add EGL validation helper files and move some validation to them.
BUG=angle:658
Change-Id: Id560268a280f2fa7d75a7d0727dac830fe8de9f1
Reviewed-on: https://chromium-review.googlesource.com/242034
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1d8ae673
|
2015-01-19T14:44:29
|
|
Add a makeCurrent method to Display.
BUG=angle:658
Change-Id: If1830fb164d31e2ee8092414d012e127ec344d69
Reviewed-on: https://chromium-review.googlesource.com/242033
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b3dced29
|
2015-01-12T14:54:55
|
|
Implementing gl_InstanceID in the HLSL compiler.
Fixes:
dEQP-GLES3.functional.instanced.draw_arrays_instanced.instance_id
dEQP-GLES3.functional.instanced.draw_arrays_instanced.mixed
dEQP-GLES3.functional.instanced.draw_elements_instanced.instance_id
dEQP-GLES3.functional.instanced.draw_elements_instanced.mixed
BUG=angle:601
Change-Id: I6e120eebc90d00e025fc58f096064e6ed1da826b
Reviewed-on: https://chromium-review.googlesource.com/246911
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
c38fa8a5
|
2015-02-06T18:28:51
|
|
Revert "Track bound render targets in D3D9 with uintptr_t and dirty them with -1."
Failures on the Chromium GPU FYI bots:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/8695
This reverts commit 358c8a95aeb3fd01218bc4116e999f4cd0c3fdc1.
Change-Id: I01d674929280364e097e4f65b06d7c3b1f928e92
Reviewed-on: https://chromium-review.googlesource.com/247091
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4e47b92f
|
2015-02-03T09:04:20
|
|
Fix instanced point sprites when gl_PointSize is specified but not used
Change-Id: I2350fa60cae55f02d7b484c34544c035acaba6ad
Reviewed-on: https://chromium-review.googlesource.com/245703
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
358c8a95
|
2015-01-30T14:34:58
|
|
Track bound render targets in D3D9 with uintptr_t and dirty them with -1.
BUG=447419
Change-Id: Ia77e3b00db0f327eb278285de14cd438c5cf538b
Reviewed-on: https://chromium-review.googlesource.com/244664
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cf077794
|
2015-01-28T15:23:17
|
|
Track bound render targets in D3D11 with uintptr_t and dirty them with -1.
BUG=447419
BUG=452587
Change-Id: Ic36ebf108eca93e1239cc9c2a0d6479c84e93ace
Reviewed-on: https://chromium-review.googlesource.com/244663
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
9c4264d9
|
2015-01-09T16:41:00
|
|
Move Renderer::getMajorShaderModel to RendererD3D.
BUG=angle:658
Change-Id: Ibf67a96ec9c0e8d6adc4f9c839da1e06058dc32f
Reviewed-on: https://chromium-review.googlesource.com/239904
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
bb3f1802
|
2015-01-09T16:39:04
|
|
Remove swap interval queries from Renderer.
BUG=angle:658
Change-Id: I7cd9cf3693c06c46ec6a4054e8fe1586f399273c
Reviewed-on: https://chromium-review.googlesource.com/239903
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f21a1080
|
2015-01-09T14:41:27
|
|
Generate the full EGL configs in the Renderers.
Specify the default framebuffer formats in GL formats but still use BGRA
and ANGLEX formats for now.
BUG=angle:658
Change-Id: I7192db4ca76ab4b0b42daa43785a7ddd9528a9ca
Reviewed-on: https://chromium-review.googlesource.com/239902
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b885e571
|
2015-02-03T16:16:04
|
|
Implement ReadBuffer functionality.
This enables ReadPixels from non-0 FBO attachments.
Tested with:
dEQP-GLES3.functional.negative_api.buffer.read_buffer
(fails due to a possible error in dEQP)
dEQP-GLES3.functional.shaders.fragdata.draw_buffers
(passes)
BUG=angle:903
Change-Id: Ib095e1d50b8fbbc6f197de25f19ec0993309145a
Reviewed-on: https://chromium-review.googlesource.com/244841
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
b4b53c5c
|
2015-02-03T15:22:48
|
|
Add stubs for primitive restart caps.
Allow dEQP to reset this particular state variable, while still
throwing an UNIMPLEMENTED error if we try to render with primitive
restart enabled.
BUG=angle:901
Change-Id: I1ab46ff4d8bff2775225b083f08d156b9422b9c5
Reviewed-on: https://chromium-review.googlesource.com/244840
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c223dc6b
|
2015-01-09T13:10:01
|
|
Change Config to a struct and rename it's members.
BUG=angle:658
Change-Id: I18dab915730fc28815db8080b3614da821f9c8b1
Reviewed-on: https://chromium-review.googlesource.com/239901
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6812a55c
|
2015-01-06T17:26:42
|
|
Rewrite ConfigSet and make EGLConfig synonymous with egl::Config.
BUG=angle:658
Change-Id: I3c33faf18af0bfda00dc5babe6356d6c8661f032
Reviewed-on: https://chromium-review.googlesource.com/238862
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5c39f688
|
2015-01-06T15:19:35
|
|
Have the DisplayImpl create the Renderer and Contexts.
BUG=angle:658
Change-Id: I726d87b90be8382c5dd8964e4d8686711e404ffe
Reviewed-on: https://chromium-review.googlesource.com/238861
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
39f2e2b0
|
2015-02-03T09:39:45
|
|
Add multithreaded create device flag in D3D9.
This fixes a crash when we try to load a program executable in the
worker thread in the multi-threaded shader compilation. This fixes
the angle_end2end_tests.
BUG=angle:900
Change-Id: Id4494864c7121630c43c2fe64a92674326eabc69
Reviewed-on: https://chromium-review.googlesource.com/245681
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b8aee3bc
|
2015-01-27T14:42:36
|
|
Add UNPACK_ROW_LENGTH support to D3D11 renderer
Change-Id: I31ccffddcb04a45f19d3c3eb9a396c30e794b218
Reviewed-on: https://chromium-review.googlesource.com/243951
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Minmin Gong <mgong@microsoft.com>
|
|
1d57ad40
|
2015-02-02T16:57:06
|
|
Add some missing disallow macros.
DISALLOW_COPY_AND_ASSIGN was missing from CompilerImpl,
FramebufferImpl and DefaultAttachmentImpl.
BUG=angle:904
Change-Id: I2e57078cd5b40baf6962f19869c2f3b67ad6dc6e
Reviewed-on: https://chromium-review.googlesource.com/245514
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
9236b418
|
2015-02-02T16:51:52
|
|
Add generic Impl casting helper methods.
GetAs and GetImplAs are template helpers that can replace all of our
custom "makeTextureD3D", etc methods. This will help save code across
different back-ends.
Change-Id: Ib3215c005bfac5a819c5d8f7d60a73a725241332
Reviewed-on: https://chromium-review.googlesource.com/245390
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
31018486
|
2015-01-30T13:06:52
|
|
Resubmit "Compile the D3D11 VS and PS on separate threads at GL link time"
The original change caused a Chromium build break due to
"__uncaught_exception" not being defined in concrt.h. This is because Chromium
defines "_HAS_EXCEPTIONS=0" in its GYP, but ANGLE doesn't do this.
This change defines "_HAS_EXCEPTIONS=0" in ANGLE's GYP to match Chromium,
and refines it in ProgramD3D.cpp before including <future>.
Change-Id: Ic324702569bac8f4ae1381f308c4f3f11f190f9e
Reviewed-on: https://chromium-review.googlesource.com/244860
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1528f5f1
|
2015-01-28T16:07:05
|
|
Fix the calculation of the D3D stream output offset in the D3D11 backend
Also add an extra check in BindBufferBase/Range that XFB is not active.
BUG=angle:898
Change-Id: I0d61ebaa0674b0a375cc35efa614b021a6901eac
Reviewed-on: https://chromium-review.googlesource.com/243892
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
198e9e39
|
2015-01-30T15:24:25
|
|
Fix parity bug in egl::Error::createMessageString.
The check should be "==" instead of "!=". This gave a crash any time
we would generate an Error with a message.
Change-Id: I7c5d57e30053591b4713d8c829e89fd1c0703da0
Reviewed-on: https://chromium-review.googlesource.com/244820
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b82e1a9c
|
2015-01-30T15:20:09
|
|
Fix parity bug in Error::createMessageString.
The check should be "==" instead of "!=". This gave a crash any time
we would generate an Error with a message.
Change-Id: I9217e6237ee8a2d3a4d6caa799b8508edbf4e774
Reviewed-on: https://chromium-review.googlesource.com/244754
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
846ca843
|
2015-01-29T10:29:54
|
|
Fix 2D tex array buffer unpacking.
In some cases, when an unpack buffer is enabled, we would use the
incorrect layer offset, because we would think the pixel pointer
was NULL. Use a new parameter instead of the double "null" meaning
to fix this.
This fixes several tests in the dEQP texture specification group.
(EG: dEQP-GLES3.functional.texture.specification.teximage3d_pbo)
BUG=angle:899
Change-Id: If96bba6987a04653301efc348d32de372a237aa1
Reviewed-on: https://chromium-review.googlesource.com/244092
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
9d294c33
|
2015-01-30T19:58:39
|
|
Revert "Compile the D3D11 VS and PS on separate threads at GL link time"
Failing compile on Chromium bots:
FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\goma/gomacc "C:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\angle\src\libANGLE\renderer\d3d\libANGLE.ProgramD3D.obj.rsp /c ..\..\third_party\angle\src\libANGLE\renderer\d3d\ProgramD3D.cpp /Foobj\third_party\angle\src\libANGLE\renderer\d3d\libANGLE.ProgramD3D.obj /Fdobj\third_party\angle\src\libANGLE.cc.pdb
c:\b\depot_tools\win_toolchain\vs2013_files\vc\include\concrt.h(4774) : error C3861: '__uncaught_exception': identifier not found
ninja: build stopped: subcommand failed.
This reverts commit 6d51f2629a8118f7afd450ea832c93143a84c330.
Change-Id: Iebb2843dfbc3795290fbb33e1a111ddad59c3126
Reviewed-on: https://chromium-review.googlesource.com/244792
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6d51f262
|
2015-01-26T16:34:48
|
|
Compile the D3D11 VS and PS on separate threads at GL link time
BUG=angle:900
Change-Id: Iad5dbbcc676e2a2b6dfc3d7bc6ab5957154de33e
Reviewed-on: https://chromium-review.googlesource.com/240490
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
d8e62a39
|
2015-01-29T15:21:25
|
|
Added required casts to fix 64-bit compilation errors
Change-Id: I5ec9090e0129c778de8fcdc6cf70ea0fe460a19d
Reviewed-on: https://chromium-review.googlesource.com/244510
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bc393df9
|
2015-01-29T13:46:07
|
|
Allow 32-bit float formats in ES2 CopyTexSubImage.
These corner case formats can come about from using floating
point textures and trying to copy between them. There currently
isn't a good alternative in WebGL 1 for copies.
BUG=angle:850
Change-Id: I3dc29e42b5ec7dcf071185bc09c6b3e9e3cb3207
Reviewed-on: https://chromium-review.googlesource.com/241048
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
88fe1ad7
|
2015-01-19T15:09:26
|
|
Update the texture storage after generateMipmaps and setStorage.
Also adds a few assert in SetData and various places to ensure that
images are not dirty before modifying the storage.
BUG=angle:873
Change-Id: I7cc922b33da0d79a1b5aefe216e9ccfaaf86a306
Reviewed-on: https://chromium-review.googlesource.com/241880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
|
|
b9266276
|
2015-01-29T13:25:14
|
|
Update texture size information on egl[Bind|Release]TexImage.
BUG=450257
Change-Id: I7609131d78f255bf9f79b42f39b02303a5c14b60
Reviewed-on: https://chromium-review.googlesource.com/243915
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b2d298db
|
2015-01-29T10:29:51
|
|
Fix TextureStorage11::setData for 3D textures.
Currently this method doesn't handle partial offsets.
Fixes dEQP tests in the texture specification group.
BUG=angle:899
Change-Id: I20160e49a46957b4f6cf96f529ab4ea7ddf7b343
Reviewed-on: https://chromium-review.googlesource.com/244091
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
37997145
|
2015-01-28T10:06:34
|
|
Defer dependent HLSL global var inits.
Some global initializers depend on other globals, for instance a
varying or attribute value. Since we use a static proxy variable for
these varyings, we need to initialize the global static after we
initialize the proxy in the shader preamble. This fixes a long-
standing compiler bug.
We should also add a WebGL test for this.
BUG=angle:878
Change-Id: I71db103a6b8c24fb862e0d8b32293da9bc2e8103
Reviewed-on: https://chromium-review.googlesource.com/243581
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
448d3db5
|
2015-01-28T16:51:10
|
|
Fix 'getDepth' in Texture::isLevelComplete.
Was mistakenly inserted as getWidth in 691e58cd84360f.
BUG=angle:681
Change-Id: Ibccf056dcb47c8711422efb8bd40fb6f64ff57d9
Reviewed-on: https://chromium-review.googlesource.com/244090
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
19d438d4
|
2015-01-19T13:42:12
|
|
Fix checks for base and max level in Texture.
The dEQP unpack buffer tests were failing because they use a max and
base level of zero with mipmapping enabled. Update our sampler
completeness checks to account for min and max level.
We'll have to dig in to our code to find corner cases in D3D with
base and max level.
Change-Id: I74357c6dc2e1908d0463d2e5cbc8ee91b61a3b7f
Reviewed-on: https://chromium-review.googlesource.com/240763
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4b3a29e2
|
2015-01-23T15:46:22
|
|
Resize buffer storage on getLatestBufferStorage if needed.
BUG=angle:897
Change-Id: I3d6079b718bb5dd61cbd3098694204aae9bbc932
Reviewed-on: https://chromium-review.googlesource.com/243152
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
|
|
3ae6465f
|
2015-01-26T15:51:39
|
|
Fix lots of variable shadowing in ANGLE
BUG=angle:877
Change-Id: I3df0fffb19f5ecbe439fbc2a8d6d239a5dc6b638
Reviewed-on: https://chromium-review.googlesource.com/243334
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c51113d0
|
2015-01-06T10:28:47
|
|
Generate egl configs from the DisplayImpl.
Still do the actual generation in the Renderer9/11 for now but route it
through the DisplayImpl.
BUG=angle:658
Change-Id: Ib976fbd1b9e349146dc068bbdd4e6a3d2a5ddc69
Reviewed-on: https://chromium-review.googlesource.com/238860
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b931e721
|
2014-12-11T13:49:13
|
|
Check for EGL extension existance during validation.
BUG=angle:658
Change-Id: I078d7f9ab4ab42bd7d3cd3865572ead8ed1f0b29
Reviewed-on: https://chromium-review.googlesource.com/234763
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1b765456
|
2014-12-11T11:58:39
|
|
Move display extension initialization to DisplayImpl.
BUG=angle:658
Change-Id: I44d95fad4e1be5cc76f443d724defd37da4a268f
Reviewed-on: https://chromium-review.googlesource.com/234762
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
74cafab1
|
2015-01-23T23:17:32
|
|
Revert "Fix lots of variable shadowing in ANGLE"
Caused WebGL CTS failures on the texture-npot test:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/textures/texture-npot.html
This reverts commit c67e6e9fade44ef8938724e82db11db725e9c8e5.
Change-Id: I089e99859231e0d657084ac3647257c650a9da92
Reviewed-on: https://chromium-review.googlesource.com/243041
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c67e6e9f
|
2015-01-21T16:01:07
|
|
Fix lots of variable shadowing in ANGLE
BUG=angle:877
Change-Id: I15168ae32605b26aee08274464ffe68adb5a7e87
Reviewed-on: https://chromium-review.googlesource.com/242351
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
62815bf4
|
2015-01-15T16:32:36
|
|
Improve D3D11 FL9_3 zero-LOD workaround (e.g. TextureCubes)
D3D11 Feature Level 9_3 can't disable mipmaps on a mipmapped
texture, and sample from level zero of it. A previous commit
added a workaround for this in ANGLE to Texture2Ds. This
commit fixes some minor issues in that commit, and extends
the workaround to apply to TextureCubes too.
Change-Id: Ic97321af6f8bbf7ad5d96e58655c342db3978a6a
Reviewed-on: https://chromium-review.googlesource.com/241944
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
398c5a2a
|
2015-01-16T17:17:47
|
|
Support for 3D texture transfers with a non-null z offset.
Also fixes the unpack buffer offset which must be in pixel instead of
bytes in the shader parameter.
BUG=angle:508
Change-Id: I908460a76c300d96054a02206e1f2e3ad2b8e9d0
Reviewed-on: https://chromium-review.googlesource.com/241440
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
|
|
bc234461
|
2015-01-16T16:09:39
|
|
Use a special flag to mark D3D11 shaders as dirty instead of NULL.
Also remove mCurPointGeometryShader and instead pass the program to
drawArrays.
BUG=angle:872
Change-Id: If55517e81d9234705eabcc0e5be7b5b492858e08
Reviewed-on: https://chromium-review.googlesource.com/241421
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
051dbc79
|
2015-01-05T15:48:58
|
|
Create a formatutilsD3D and move some functions from formatutils.
BUG=angle:681
Change-Id: I694073c50dccd05c3117761e446eba0d15c03293
Reviewed-on: https://chromium-review.googlesource.com/238480
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fab29759
|
2015-01-20T13:57:23
|
|
Reduce D3D9 error spam in renderer9 utils.
CheckDeviceFormat with a depth stencil format gives a spurious error
when called with a non-depth-stencil format. We can check the number
of format bits before we call to reduce the error spam.
Change-Id: Ia2a6e6d756c84e13effe298240f33c8c83379267
Reviewed-on: https://chromium-review.googlesource.com/242030
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e6664f06
|
2015-01-09T16:22:24
|
|
Added PointSprites Support for renderers that do not support Geometry Shaders
Change-Id: Iae9ac5f8fbba68dba5e49ccda7bb7eebb05c8e9a
Reviewed-on: https://chromium-review.googlesource.com/240450
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
3940a453
|
2015-01-14T17:26:32
|
|
Only call std::string constructor in gl::Error when necessary
std::string's constructor is very expensive in debug builds.
In some applications we have seen it use 10% of the CPU.
This change makes (e)gl::Error store a pointer to an std::string,
and only create a string when necessary.
Change-Id: I78bfbda86568944681517fe32df9d1556e4ebee7
Reviewed-on: https://chromium-review.googlesource.com/240495
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
41ebb808
|
2015-01-05T15:11:18
|
|
Move imageformats to the d3d folder.
BUG=angle:681
Change-Id: I83f0e5aaca4aaa84e5868afcde4f27eba011d5f1
Reviewed-on: https://chromium-review.googlesource.com/238479
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c2ca196e
|
2015-01-05T15:02:18
|
|
Move loadimage to the d3d folder.
BUG=angle:681
Change-Id: Id901d9ae66207ac5e7d2844b8cd1f6a58c4492f6
Reviewed-on: https://chromium-review.googlesource.com/238478
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
04185ac7
|
2015-01-05T14:58:09
|
|
Move GenerateMip to the D3D folder.
BUG=angle:681
Change-Id: Icdffe7eb8f975ee0966e9fb241835ac541eb39f0
Reviewed-on: https://chromium-review.googlesource.com/238477
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
34cc136a
|
2015-01-05T14:55:44
|
|
Move copyvertex to the d3d11 folder.
BUG=angle:681
Change-Id: Id37ed1ca617f1d2b6c1bd4a86fc8fcd28b933e8f
Reviewed-on: https://chromium-review.googlesource.com/238476
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
59c4debe
|
2015-01-05T14:49:56
|
|
Move copyimage to the D3D folder.
BUG=angle:681
Change-Id: I2ce237281cc75fdae11b5ddb4eca52058c395e7a
Reviewed-on: https://chromium-review.googlesource.com/238475
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6f5dc074
|
2015-01-05T14:46:20
|
|
Move vertexconversion.h to the d3d9 folder.
BUG=angle:681
Change-Id: I87ef6856040978a9a6045d1df20fe3117def35a3
Reviewed-on: https://chromium-review.googlesource.com/238474
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
359ef269
|
2015-01-05T14:42:29
|
|
Rename ShaderExecutable to ShaderExecutableD3D and move it to the D3D folder.
BUG=angle:681
Change-Id: I097d6591be4e873c9a6f210cc91e3f4eb60f036b
Reviewed-on: https://chromium-review.googlesource.com/238473
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2dc4639f
|
2015-01-05T14:33:58
|
|
Rename SwapChain to SwapChainD3D and move it to the D3D folder.
BUG=angle:681
Change-Id: Idcf24556e590e07cc0b6cf640d4701353a0cda5e
Reviewed-on: https://chromium-review.googlesource.com/238472
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c2e75afa
|
2015-01-05T14:26:24
|
|
Rename RenderTarget to RenderTargetD3D and move it into the d3d folder.
BUG=angle:681
Change-Id: I1946e01ce09d99405c318723c254fe300cc5ac53
Reviewed-on: https://chromium-review.googlesource.com/238471
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b4dedf3e
|
2015-01-05T14:08:53
|
|
Merge the Image class into ImageD3D.
BUG=angle:681
Change-Id: I0c0d41fb3ff9592b08ede58a8c2ec2bd2d94a0b2
Reviewed-on: https://chromium-review.googlesource.com/238470
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
909b90ce
|
2015-01-12T14:07:26
|
|
Use the ImageIndex class for indexing the Texture size information.
BUG=angle:681
Change-Id: I0c8d1c04ca8eefb9b618ee6635c0643d162c0cc1
Reviewed-on: https://chromium-review.googlesource.com/240241
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
155610b9
|
2015-01-15T16:37:17
|
|
Fix off-by-one max mip levels in getSRV.
We would try to create SRVs with zero mip levels, when we should
be asking for a single mip level. This would happen when the base
level is equal to the max level. See the dEQP test:
texture.mipmap.2d.max_level.linear_nearest
Change-Id: I3f231f159dbdecbf7c2e61b373bfc3545875f36e
Reviewed-on: https://chromium-review.googlesource.com/240762
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3c9db122
|
2015-01-15T16:36:55
|
|
Fix pixel unpack buffers for some formats.
The renderability test got flipped in 6cf8e1b906ebfc.
See dEQP test:
texture.specification.teximage2d_pbo.rgba8_snorm_2d
Note: this test still fails due to a bug in isMipmapComplete, which
has a fix in a subsequent patch.
Change-Id: Ied8ad7712bbb844132b6ac37426716780c9801c9
Reviewed-on: https://chromium-review.googlesource.com/240761
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
215b37a6
|
2014-12-22T12:56:07
|
|
Work around zero-LOD mipmap issue on D3D11 Feature Level 9_3
In OpenGL ES, it is possible to sample from level 0 of a mipmapped
texture by setting GL_TEXTURE_MIN_FILTER to GL_NEAREST.
This is possible in D3D9 and D3D11 Feature Level 10_0+ via various
methods. It's not possible in D3D11 Feature Level 9_3, though.
This change works around this restriction by creating two copies of
each texture on 9_3. The textures are identical, except one has
mipmaps and one doesn't.
The D3D11 renderer figures out which texture to use at the right
time, and keeps the textures in sync with each other as necessary.
Note: each texture is only created when it's needed. It's possible
that only one (or even neither) D3D texture will be created for a
given GL texture.
Change-Id: I3c17137b4f63b9158b3abf067ad8e5d5c49d2191
Reviewed-on: https://chromium-review.googlesource.com/234522
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
be0facc6
|
2015-01-07T16:22:29
|
|
Reduce calls to ID3D11DeviceContext::Map() in VertexBuffer11.cpp
This change moves VertexBuffer11::storeVertexAttributes()'s call to
Map() outside a for-loop, eliminating unnecessary calls to Map(). Since
Map() is a relatively expensive operation (even when using NO_OVERWRITE)
this change gives a noticeable performance boost in some scenarios.
Change-Id: I320111b32f2bb9eed92efbd240206e12aaa9964e
Reviewed-on: https://chromium-review.googlesource.com/240181
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
691e58cd
|
2014-12-19T17:03:25
|
|
Merge all gl::Texture* classes.
The validation for sampler completeness had a lot of duplicated code.
The special cases have been merged into the base class by checking mTarget.
BUG=angle:681
Change-Id: I11d94c1432f8fc70a1edaaf8228bbc43c3c8fff3
Reviewed-on: https://chromium-review.googlesource.com/236932
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
dd806c2b
|
2015-01-14T14:26:35
|
|
Use emmintrin.h for SSE includes.
This header should work on all available platforms, instead of
the platform-specific intrin.h or x86intrin.h.
BUG=angle:773
Change-Id: Ia012053064838f9893aa647d872e136a47cfad1a
Reviewed-on: https://chromium-review.googlesource.com/240552
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
129753af
|
2015-01-09T16:52:09
|
|
Split the flush and finish commands into separate methods.
Improves the readability of the implementations and more closely mirrors
the GL commands.
Change-Id: Ifa7bc55751d50271eb01fd87e4efdc69f00c2c48
Reviewed-on: https://chromium-review.googlesource.com/239845
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7c973eaa
|
2014-12-19T15:58:28
|
|
Move egl texture binding to the base texture class.
It's still only valid to bind a 2D texture but the validation layer
verifies that.
BUG=angle:681
Change-Id: I744dc32f9bd0f69b1e1235b8feef7e796167d033
Reviewed-on: https://chromium-review.googlesource.com/236931
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d03e10e2
|
2014-12-18T17:46:58
|
|
Remove references to the Image class from gl::Texture and rx::TextureImpl.
BUG=angle:681
Change-Id: I83659f47cbe9f22ff5ad0cf54471544bd14775aa
Reviewed-on: https://chromium-review.googlesource.com/236690
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a9be0dc6
|
2014-12-17T12:34:40
|
|
Refactor Texture to track image information for size and format queries.
BUG=angle:681
Change-Id: Ifb3f52d6348e4479181e66f1c39578f49e9dcf76
Reviewed-on: https://chromium-review.googlesource.com/235613
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|