[virglrenderer-devel] [PATCH 0/3] Fix dEQP-GLES31.functional.draw_buffers_indexed.*

Erik Faye-Lund erik.faye-lund at collabora.com
Tue Jul 3 06:04:47 UTC 2018


The first patch is a bit large and unfortunate; emulating alpha-textures
as red-textures isn't something we can do unless we can also swizzle the
blend-color per color-target. So instead, I've changed to emulate it with
RGBA-textures. This doesn't require any swizzling, so it's a bit simpler,
but uses 4x as much memory.

I'm thinking that the increase in memory-usage here isn't as bad as it
sounds; this is only really needed for legacy programs, and it seems
reasonable-ish to assume that old programs need less memory than new
programs.

Fixes these test-cases:
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.0
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.6
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.13
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.14
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.7

Erik Faye-Lund (3):
  emulate alpha texures as rgba instead of red
  fix rewriting of non-alpha formats
  update hw_blend_state.independent_blend_enable after setting state

 src/vrend_formats.c  |  8 ++---
 src/vrend_renderer.c | 82 ++++++++++++++------------------------------
 src/vrend_shader.c   | 16 ---------
 src/vrend_shader.h   |  1 -
 4 files changed, 29 insertions(+), 78 deletions(-)

-- 
2.18.0.rc2



More information about the virglrenderer-devel mailing list