Emil, Here are freedreno patches from master backported to 10.3.. plus one patch outside of freedreno ('util/u_format: add _is_alpha()')
If too much for tomorrows release, pulling in to 10.3 branch right after the release for the next one would be nice. According to piglit 395 fixes, 5 regressions. The five regressions are spec/glsl-1.10/execution/interpolation/interpolation-none-gl_Back* which were only accidentally passing before. The root issue with those is that we currently have no good way to tie FRAG shader inputs that don't have any corresponding VERT shader output to 0,0,0,0.. so instead they get linked to some random VERT shader output ;-) I am still seeing some regression compared to master (some tex-miplevel-selection tests which pass on master, but fail or intermittent fail on 10.3 backport), but they were simply crashing before the backport. So freedreno is at least in much better shape with the backport, compared to prior. Plus, now 0ad is playable[1] :-) [1] http://people.freedesktop.org/~robclark/results/0ad-water2.png BR, -R ----- The following changes since commit 724f71ef3905289eee7b45955243fdc7dc5f1251: r600g: Drop references to destroyed blend state (2014-10-22 15:39:49 +0100) are available in the git repository at: https://github.com/freedreno/mesa.git freedreno-10.3 for you to fetch changes up to 749b50a699c88bd476130d1bb2974fef499dfde9: freedreno/a3xx: fix depth/stencil restore format (2014-10-23 08:27:24 -0400) ---------------------------------------------------------------- Ilia Mirkin (27): freedreno/ir3: fix FSLT/etc handling to return 0/-1 instead of 0/1.0 freedreno/ir3: INEG operates on src0, not src1 freedreno/ir3: add UARL support freedreno/ir3: negate result of USLT/etc freedreno/ir3: use unsigned comparison for UIF freedreno/ir3: add TXL support freedreno/ir3: fix UCMP handling freedreno/ir3: implement UMUL correctly freedreno: add default .dir-locals.el for emacs settings freedreno/ir3: make texture instruction construction more dynamic freedreno/ir3: fix TXB/TXL to actually pull the bias/lod argument freedreno/ir3: add TXQ support freedreno/ir3: add TXB2 support freedreno: dual-source render targets are not supported freedreno: instanced drawing/compute not yet supported freedreno/ir3: avoid fan-in sources referring to same instruction freedreno/ir3: add IDIV/UDIV support freedreno/ir3: add UMOD support, based on UDIV freedreno/ir3: add MOD support freedreno/ir3: add ISSG support freedreno/ir3: add UMAD support freedreno/ir3: make TXQ return integers, not floats freedreno/ir3: shadow comes before array freedreno/ir3: add texture offset support freedreno/ir3: add TXD support and expose ARB_shader_texture_lod freedreno/ir3: add TXF support freedreno: positions come out as integers, not half-integers Rob Clark (62): freedreno/ir3: detect scheduler fail freedreno/ir3: add TXB freedreno/ir3: add DDX/DDY freedreno/ir3: bit of debug freedreno/ir3: fix error in bail logic freedreno/ir3: fix constlen with relative addressing freedreno/ir3: add no-copy-propagate fallback step freedreno: don't overflow cmdstream buffer so much freedreno/ir3: fix potential segfault in RA freedreno: update generated headers freedreno/a3xx: enable hw primitive-restart freedreno/a3xx: handle rendering to layer != 0 freedreno: update generated headers freedreno/a3xx: format fixes util/u_format: add _is_alpha() freedreno/a3xx: alpha render-target shenanigans freedreno/ir3: catch incorrect usage of tmp-dst freedreno/ir3: add missing put_dst freedreno: "fix" problems with excessive flushes freedreno: update generated headers freedreno/a3xx: 3d/array textures freedreno: add DRM_CONF_SHARE_FD freedreno/a3xx: more texture array fixes freedreno/a3xx: initial texture border-color freedreno: fix compiler warning freedreno: don't advertise mirror-clamp support freedreno: update generated headers freedreno: we have more than 0 viewports! freedreno: turn missing caps into compile warnings freedreno/a3xx: add LOD_BIAS freedreno/a3xx: add flat interpolation mode freedreno/a3xx: add 32bit integer vtx formats freedreno/a3xx: fix border color order freedreno: move bind_sampler_states to per-generation freedreno: add texcoord clamp support to lowering freedreno/a3xx: add support to emulate GL_CLAMP freedreno/a3xx: re-emit shaders on variant change freedreno/lowering: fix token calculation for lowering freedreno: destroy transfer pool after blitter freedreno: max-texture-lod-bias should be 15.0f freedreno: update generated headers freedreno/a3xx: handle large shader program sizes freedreno/a3xx: emit all immediates in one shot freedreno/ir3: fix lockups with lame FRAG shaders freedreno/a3xx: handle VS only outputting BCOLOR freedreno: query fixes freedreno/a3xx: refactor vertex state emit freedreno/a3xx: refactor/optimize emit freedreno/ir3: optimize shader key comparision freedreno: inline fd_draw_emit() freedreno: fix layer_stride freedreno: update generated headers freedreno/ir3: large const support freedreno/a3xx: more layer/level fixes freedreno/ir3: comment + better fxn name freedreno/ir3: fix potential gpu lockup with kill freedreno/a3xx: disable early-z when we have kill's freedreno/ir3: add debug flag to disable cp freedreno: clear vs scissor freedreno: mark scissor state dirty when enable bit changes freedreno/a3xx: fix viewport state during clear freedreno/a3xx: fix depth/stencil restore format .../auxiliary/target-helpers/inline_drm_helper.h | 2 +- src/gallium/auxiliary/util/u_format.c | 17 + src/gallium/auxiliary/util/u_format.h | 2 + src/gallium/drivers/freedreno/.dir-locals.el | 8 + src/gallium/drivers/freedreno/a2xx/a2xx.xml.h | 18 +- src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 13 +- src/gallium/drivers/freedreno/a2xx/fd2_gmem.c | 4 +- src/gallium/drivers/freedreno/a2xx/fd2_program.c | 4 +- src/gallium/drivers/freedreno/a2xx/fd2_texture.c | 20 + src/gallium/drivers/freedreno/a3xx/a3xx.xml.h | 170 +++- src/gallium/drivers/freedreno/a3xx/fd3_context.c | 34 + src/gallium/drivers/freedreno/a3xx/fd3_context.h | 54 ++ src/gallium/drivers/freedreno/a3xx/fd3_draw.c | 164 ++-- src/gallium/drivers/freedreno/a3xx/fd3_emit.c | 142 ++- src/gallium/drivers/freedreno/a3xx/fd3_emit.h | 48 +- src/gallium/drivers/freedreno/a3xx/fd3_gmem.c | 71 +- src/gallium/drivers/freedreno/a3xx/fd3_program.c | 154 +++- src/gallium/drivers/freedreno/a3xx/fd3_program.h | 5 +- src/gallium/drivers/freedreno/a3xx/fd3_query.c | 4 +- src/gallium/drivers/freedreno/a3xx/fd3_texture.c | 110 ++- src/gallium/drivers/freedreno/a3xx/fd3_texture.h | 1 + src/gallium/drivers/freedreno/a3xx/fd3_util.c | 66 +- src/gallium/drivers/freedreno/adreno_common.xml.h | 9 +- src/gallium/drivers/freedreno/adreno_pm4.xml.h | 12 +- src/gallium/drivers/freedreno/freedreno_context.c | 8 +- src/gallium/drivers/freedreno/freedreno_context.h | 34 +- src/gallium/drivers/freedreno/freedreno_draw.c | 88 +- src/gallium/drivers/freedreno/freedreno_draw.h | 51 +- src/gallium/drivers/freedreno/freedreno_gmem.c | 71 +- src/gallium/drivers/freedreno/freedreno_gmem.h | 7 +- src/gallium/drivers/freedreno/freedreno_lowering.c | 221 ++++- src/gallium/drivers/freedreno/freedreno_lowering.h | 10 + src/gallium/drivers/freedreno/freedreno_program.c | 4 +- src/gallium/drivers/freedreno/freedreno_query_hw.c | 11 +- src/gallium/drivers/freedreno/freedreno_resource.c | 49 +- src/gallium/drivers/freedreno/freedreno_screen.c | 72 +- src/gallium/drivers/freedreno/freedreno_state.c | 14 +- src/gallium/drivers/freedreno/freedreno_texture.c | 38 +- src/gallium/drivers/freedreno/freedreno_texture.h | 4 + src/gallium/drivers/freedreno/freedreno_util.h | 30 +- src/gallium/drivers/freedreno/ir3/ir3.c | 13 +- src/gallium/drivers/freedreno/ir3/ir3.h | 26 +- src/gallium/drivers/freedreno/ir3/ir3_compiler.c | 990 +++++++++++++++++---- src/gallium/drivers/freedreno/ir3/ir3_compiler.h | 2 +- .../drivers/freedreno/ir3/ir3_compiler_old.c | 16 +- src/gallium/drivers/freedreno/ir3/ir3_cp.c | 12 +- src/gallium/drivers/freedreno/ir3/ir3_depth.c | 16 +- src/gallium/drivers/freedreno/ir3/ir3_ra.c | 19 +- src/gallium/drivers/freedreno/ir3/ir3_sched.c | 57 +- src/gallium/drivers/freedreno/ir3/ir3_shader.c | 56 +- src/gallium/drivers/freedreno/ir3/ir3_shader.h | 70 +- src/gallium/targets/pipe-loader/pipe_msm.c | 25 +- 52 files changed, 2483 insertions(+), 663 deletions(-) create mode 100644 src/gallium/drivers/freedreno/.dir-locals.el _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev