summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-12-16i965/query: Use brw_bo_map to handle stall warnings.Kenneth Graunke1-7/+1
This is less code and also measures the duration of the stall for us. Our old code predates the existance of brw_bo_map(). Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-12-16i965/query: Remove redundant drm_intel_bo_references call in CheckQuery.Kenneth Graunke1-7/+8
CheckQuery calls drm_intel_bo_references to see if the batch references the query BO, and if so, flushes. It then checks if the query BO is busy, and if not, calls gen6_queryobj_get_results(). Stupidly, gen6_queryobj_get_results() immediately did a second redundant drm_intel_bo_references check, even though we know the buffer is not referenced and in fact idle. This patch moves the batch-flush check out of gen6_queryobj_get_results and into WaitQuery() (the other caller). That way, both callers do a single batch-flush check. This should only be a minor improvement, since it would only affect the first CheckQuery call where the result is actually available. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86969 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-12-16i965/query: Add query->bo == NULL early return in CheckQuery hook.Kenneth Graunke1-2/+8
If query->bo == NULL, this is a redundant CheckQuery call, and we should simply return. We didn't do anything anyway - we skipped the batch flushing block, and although we called get_results(), it has an early return and does nothing. Why bother? Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-12-16i965/query: Set Ready flag in gen6_queryobj_get_results().Kenneth Graunke1-2/+2
q->Ready means that the results are in, and core Mesa is free to return them to the application. gen6_queryobj_get_results() is a natural place to set that flag; doing so means callers don't have to. The older non-hardware-context aware code couldn't do this, because we had to call brw_queryobj_get_results() to gather intermediate results when we ran out of space for snapshots in the query buffer. We only gather complete results in the Gen6+ code, however. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-12-16vc4: Add support for turning add-based MOVs to muls for pairing.Eric Anholt1-2/+49
total instructions in shared programs: 43053 -> 40795 (-5.24%) instructions in affected programs: 37996 -> 35738 (-5.94%)
2014-12-16vc4: Add a helper for changing a field in an instruction.Eric Anholt2-11/+12
2014-12-16vc4: Fix the name of qpu_waddr_ignores_ws().Eric Anholt1-5/+5
We're deciding about the WS bit, not PM.
2014-12-17docs: note change in minimum GCC version to 4.1.0Timothy Arceri1-0/+1
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-17util: remove support for GCC older than 4.1.0Timothy Arceri1-1/+1
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-By: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-17mesa: remove support for GCC older than 4.1.0Timothy Arceri1-1/+1
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-By: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-17gbm: remove support for GCC older than 4.1.0Timothy Arceri1-1/+1
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-By: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-17gallium: remove support for GCC older than 4.1.0Timothy Arceri2-5/+5
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-By: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-17egl: remove support for GCC older than 4.1.0Timothy Arceri1-1/+1
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-By: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-17mesa: bump required GCC version to 4.1.0Timothy Arceri1-3/+3
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-By: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-17mesa: remove support for GCC older than 3.3.0Timothy Arceri3-8/+3
GCC >=3.3 has been required since 9aa3aa71386394725ce88df463d6183f62777ee5 Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-By: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-16i965/fs: Add a comment explaining what saturate propagation does.Matt Turner1-0/+14
2014-12-16vc4: Add support for enabling early Z discards.Eric Anholt1-0/+18
This is the same basic logic from the original Broadcom driver.
2014-12-16st/mesa: remove extern "C" around #includes in st_glsl_to_tgsi.cppBrian Paul1-4/+2
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16program: remove extern "C" usage in sampler.cppBrian Paul1-5/+4
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16program: remove extern "C" around #includesBrian Paul1-4/+3
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16glsl: remove extern "C" around #includesBrian Paul3-7/+2
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16st/mesa: add extern "C" to st_context.hBrian Paul1-0/+10
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16st/mesa: add extern "C" to st_program.hBrian Paul1-0/+9
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16main: remove extern C around #includes in ff_fragment_shader.cppBrian Paul1-5/+3
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16mesa: move #include of mtypes.h outside __cplusplus checkBrian Paul1-2/+1
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16program: add #ifndef SAMPLER_H wrapperBrian Paul1-0/+7
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16mesa: put extern "C" in src/mesa/program/*h header filesBrian Paul4-0/+43
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16mesa: put extern "C" in header filesBrian Paul4-0/+41
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-12-16mapi: add glapi-test and shared-glapi-test to .gitignoreJuha-Pekka Heikkila3-3/+2
On the same go remove src/mapi/shared-glapi/tests/.gitignore and src/mapi/glapi/tests/.gitignore as useless. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-16util: add u_atomic_test to .gitignoreJuha-Pekka Heikkila1-0/+1
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-16glx: remove __glXstrdup()Juha-Pekka Heikkila2-20/+0
I didn't find this being used anywhere Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-16i965: add test_vf_float_conversions to .gitignoreJuha-Pekka Heikkila1-0/+1
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-12-16i965: Make validate_reg tables constantJuha-Pekka Heikkila1-4/+4
Declare local tables constant. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
2014-12-16glsl: remove commented out codeTimothy Arceri1-2/+0
MaxGeometryOutputComponents is used as the value for gl_MaxGeometryVaryingComponents Acked-by: Matt Turner <mattst88@gmail.com>
2014-12-16i965: remove commented out codeTimothy Arceri1-2/+0
Acked-by: Matt Turner <mattst88@gmail.com>
2014-12-15nvc0: add missed PIPE_CAP_VERTEXID_NOBASEIlia Mirkin1-0/+1
Commit ade8b26bf missed adding this cap to nvc0. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-12-16st/mesa: use vertex id lowering according to pipe cap bit.Roland Scheidegger2-2/+10
Tested with llvmpipe by setting the cap bit temporarily, seems to work, though no driver requests it for now.
2014-12-16draw: implement support for the VERTEXID_NOBASE and BASEVERTEX semantics.Roland Scheidegger4-19/+47
This fixes 4 vertexid related piglit tests with llvmpipe due to switching behavior of vertexid to the one gl expects. (Won't fix non-llvm draw path since we don't get the basevertex currently.)
2014-12-16gallium: add TGSI_SEMANTIC_VERTEXID_NOBASE and TGSI_SEMANTIC_BASEVERTEXRoland Scheidegger19-6/+84
Plus a new PIPE_CAP_VERTEXID_NOBASE query. The idea is that drivers not supporting vertex ids with base vertex offset applied (so, only support d3d10-style vertex ids) will get such a d3d10-style vertex id instead - with the caveat they'll also need to handle the basevertex system value too (this follows what core mesa already does). Additionally, this is also useful for other state trackers (for instance llvmpipe / draw right now implement the d3d10 behavior on purpose, but with different semantics it can just do both). Doesn't do anything yet. And fix up the docs wrt similar values. v2: incorporate feedback from Brian and others, better names, better docs. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-12-16r600g/sb: implement r600 gpr index workaround. (v3.1)Dave Airlie4-9/+57
r600, rv610 and rv630 all have a bug in their GPR indexing and how the hw inserts access to PV. If the base index for the src is the same as the dst gpr in a previous group, then it will use PV instead of using the indexed gpr correctly. The workaround is to insert a NOP when you detect this. v2: add second part of fix detecting DST rel writes followed by same src base index reads. v3: forget adding stuff to structs, just iterate over the previous node group again, makes it more obvious. v3.1: drop local_nop. Fixes ~200 piglit regressions on rv635 since SB was introduced. Reviewed-By: Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-12-16r600g/sb: fix issues with loops created for switchVadim Girlin5-4/+16
Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-12-16Revert "r600g/sb: fix issues cause by GLSL switching to loops for switch"Dave Airlie1-38/+12
This reverts commit 7b0067d23a6f64cf83c42e7f11b2cd4100c569fe. Vadim's patch fixes this a lot better.
2014-12-15vc4: Add support for 32-bit signed norm/scaled vertex attrs.Eric Anholt2-0/+18
32-bit unsigned would require some adjustments to handle values >= 0x80000000.
2014-12-15vc4: Add support for 16-bit signed/unsigned norm/scaled vertex attrs.Eric Anholt6-6/+94
2014-12-15vc4: Rename the 16-bit unpack #define.Eric Anholt2-4/+4
It's only an f16 conversion if you're doing a float operation, otherwise it's 16 bit signed to 32-bit signed.
2014-12-15vc4: Add support for 8-bit unnormalized vertex attrs.Eric Anholt6-11/+69
2014-12-15vc4: Refactor vertex attribute conversions a bit.Eric Anholt1-25/+40
There was just way too much indentation.
2014-12-15vc4: Fix use of r3 as a temp in 8-bit unpacking.Eric Anholt1-10/+7
We're actually allocating out of r3 now, and I missed it because I'd typed this one as qpu_rn(3) instead of qpu_r3().
2014-12-15vc4: Rename UNPACK_8* to UNPACK_8*_F.Eric Anholt5-20/+20
There is an equivalent unpack function without conversion to float if you use an integer operation instead.
2014-12-15vc4: Add support for UMAD.Eric Anholt1-0/+9