BBBsmoke / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

Share state between Framebuffer and Impl #930

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
We have two sets of state variables for these classes. We can optimize our 
storage and make our lives better by sharing state between them. This might 
take the form of a "meta data" struct that we share via a pointer.

Original issue reported on code.google.com by jmad...@chromium.org on 26 Feb 2015 at 4:24

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Jamie Madill <jmadill@chromium.org>
Commit : 0af26e106274a11f05db48b43af59102204110c5

Code-Review  0 : Jamie Madill
Code-Review  +2: Geoff Lang
Verified     0 : Geoff Lang
Verified     +1: Jamie Madill
Commit Queue   : Chumped
Change-Id      : I979472cdb6f59c6f0cc0c80f1c29c51295872bea
Reviewed-at    : https://chromium-review.googlesource.com/256731

Prefer using caps to system attachment limits.

The caps structure can often give a lower and faster bound, as well
as being more general. We should gradually move away from the
implementation limits.

BUG=angleproject:930

src/libANGLE/renderer/d3d/RendererD3D.cpp
src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
src/libANGLE/validationES.cpp

Original comment by bugdro...@chromium.org on 9 Mar 2015 at 5:16

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Jamie Madill <jmadill@chromium.org>
Commit : f90353e81f5f0dfc9f19e8b145a3b4d07429a978

Code-Review  0 : Jamie Madill
Code-Review  +2: Kenneth Russell
Verified     0 : Kenneth Russell
Verified     +1: Jamie Madill
Commit Queue   : Chumped
Change-Id      : I7680bbc912c0d961143c38ad82d19746dc9b113d
Reviewed-at    : https://chromium-review.googlesource.com/256732

Fix typo "setDepthttachment".

BUG=angleproject:930

src/libANGLE/Framebuffer.cpp
src/libANGLE/renderer/FramebufferImpl.h
src/libANGLE/renderer/d3d/FramebufferD3D.cpp
src/libANGLE/renderer/d3d/FramebufferD3D.h
src/libANGLE/renderer/gl/FramebufferGL.cpp
src/libANGLE/renderer/gl/FramebufferGL.h

Original comment by bugdro...@chromium.org on 9 Mar 2015 at 6:21

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Jamie Madill <jmadill@chromium.org>
Commit : 85a1804d8a28851464fa95d7ad33350b03380bd9

Code-Review  0 : Jamie Madill, Kenneth Russell
Code-Review  +2: Geoff Lang
Verified     0 : Geoff Lang, Kenneth Russell
Verified     +1: Jamie Madill
Commit Queue   : Chumped
Change-Id      : Ibdc15078236e2d19b544fae8e65b7f2554f31844
Reviewed-at    : https://chromium-review.googlesource.com/254102

Make getColorAttachmentsForRender D3D-only.

This encapsulates the workaround in the D3D renderer, and also
optimizes the workaround to only compute a new set of attachments
when there is a change to the state.

BUG=angleproject:930

src/libANGLE/Framebuffer.cpp
src/libANGLE/Framebuffer.h
src/libANGLE/renderer/FramebufferImpl.h
src/libANGLE/renderer/d3d/FramebufferD3D.cpp
src/libANGLE/renderer/d3d/FramebufferD3D.h
src/libANGLE/renderer/d3d/ProgramD3D.cpp
src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp

Original comment by bugdro...@chromium.org on 9 Mar 2015 at 6:21

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Jamie Madill <jmadill@chromium.org>
Commit : d1405e513780783eedcfed93b30b370f8d64e0e6

Code-Review  0 : Jamie Madill
Code-Review  +1: Kenneth Russell
Code-Review  +2: Geoff Lang
Verified     0 : Geoff Lang, Kenneth Russell
Verified     +1: Jamie Madill
Commit Queue   : Chumped
Change-Id      : I80de4db39ab99d623b0ad8306bf3cbb794cd8bd5
Reviewed-at    : https://chromium-review.googlesource.com/254100

Share FBO state with object and Impl.

This patch introduces a new Framebuffer::Data class, which stores
attachment related state. This will eliminate the need to store
duplicated state between the classes.

BUG=angleproject:930

src/libANGLE/Context.cpp
src/libANGLE/Framebuffer.cpp
src/libANGLE/Framebuffer.h
src/libANGLE/renderer/FramebufferImpl.h
src/libANGLE/renderer/Renderer.h
src/libANGLE/renderer/d3d/FramebufferD3D.cpp
src/libANGLE/renderer/d3d/FramebufferD3D.h
src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp
src/libANGLE/renderer/d3d/d3d11/Framebuffer11.h
src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
src/libANGLE/renderer/d3d/d3d11/Renderer11.h
src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp
src/libANGLE/renderer/d3d/d3d9/Framebuffer9.h
src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
src/libANGLE/renderer/d3d/d3d9/Renderer9.h
src/libANGLE/renderer/gl/FramebufferGL.cpp
src/libANGLE/renderer/gl/FramebufferGL.h
src/libANGLE/renderer/gl/RendererGL.cpp
src/libANGLE/renderer/gl/RendererGL.h

Original comment by bugdro...@chromium.org on 9 Mar 2015 at 6:21

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Jamie Madill <jmadill@chromium.org>
Commit : 7147f01a64505e1b8c1e4f4fe56057bff00550f7

Code-Review  0 : Jamie Madill, Kenneth Russell
Code-Review  +2: Geoff Lang
Verified     0 : Geoff Lang, Kenneth Russell
Verified     +1: Jamie Madill
Commit Queue   : Chumped
Change-Id      : I0953e321bae3afe7cde7b73c55af62546665c890
Reviewed-at    : https://chromium-review.googlesource.com/254101

Cleanups to FramebufferD3D.

With the new shared state structure, we can eliminate a lot of the
state tracking within the FramebufferD3D implementation.

BUG=angleproject:930

src/libANGLE/Framebuffer.cpp
src/libANGLE/Framebuffer.h
src/libANGLE/renderer/FramebufferImpl.h
src/libANGLE/renderer/Workarounds.h
src/libANGLE/renderer/d3d/FramebufferD3D.cpp
src/libANGLE/renderer/d3d/FramebufferD3D.h
src/libANGLE/renderer/d3d/ProgramD3D.cpp
src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
src/libANGLE/renderer/d3d/d3d11/Clear11.h
src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp
src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp

Original comment by bugdro...@chromium.org on 9 Mar 2015 at 6:21

GoogleCodeExporter commented 9 years ago

Original comment by jmad...@chromium.org on 9 Mar 2015 at 6:21