Mesa (master): 22 new commits
Brian Paul
brianp at kemper.freedesktop.org
Fri May 1 15:41:44 UTC 2009
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9196c1fa39dd566c5d7ab340e353b77714edb5f
Merge: 3f25219c7bf0f090502489928f0f018e62c4f6cf dca190e9432d4ed122bdd534922d0c3d85791c6a
Author: Brian Paul <brianp at vmware.com>
Date: Fri May 1 09:37:14 2009 -0600
Merge branch 'const-buffer-changes'
Conflicts:
src/mesa/drivers/dri/i965/brw_curbe.c
src/mesa/drivers/dri/i965/brw_vs_emit.c
src/mesa/drivers/dri/i965/brw_wm_glsl.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dca190e9432d4ed122bdd534922d0c3d85791c6a
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 29 11:52:06 2009 -0600
mesa: added _mesa_check_soa_dependencies() function
This function will check an instruction to see if there's data dependencies
between the dst and src registers if executed in an SOA manner.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd4802176f7751e8c38c000687ff9cb9633649aa
Author: Brian Paul <brianp at vmware.com>
Date: Mon Apr 27 10:46:30 2009 -0600
i965: #include prog_print.h to silence warning
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=777b9ff43e88e456d686208c83712f26aba2dd95
Author: Brian Paul <brianp at vmware.com>
Date: Mon Apr 27 10:45:41 2009 -0600
i965: only upload constant buffer data when we actually need the const buffer
Make the use_const_buffer field per-program and only call the code which
updates the constant buffer's data if the flag is set.
This should undo the perf regression from 20f3497e4b6756e330f7b3f54e8acaa1d6c92052
(cherry picked from master, commit dc9705d12d162ba6d087eb762e315de9f97bc456)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b58b3a786aa38dcc9d72144c2cc691151e46e3d5
Author: Brian Paul <brianp at vmware.com>
Date: Fri Apr 24 16:33:46 2009 -0600
i965: rework GLSL/WM register allocation
Use a bitvector of used/free flags.
If we run out of temps, examine the live intervals of the temp regs in
the program and free those which are no longer alive.
Also, enable the new WM const buffer code.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7da3f9403b235394a5c7e9456e34a0c9dad7dd15
Author: Brian Paul <brianp at vmware.com>
Date: Fri Apr 24 16:28:36 2009 -0600
mesa: refactor code and make _mesa_find_temp_intervals() public
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=027ed1b505a1bf6e3f5ad4412734d7edf337c08b
Author: Brian Paul <brianp at vmware.com>
Date: Fri Apr 24 09:43:44 2009 -0600
mesa: signal _NEW_PROGRAM_CONSTANTS instead of _NEW_PROGRAM
Use _NEW_PROGRAM_CONSTANTS when changing constant/uniform buffer values.
Binding a new program/shader sets both _NEW_PROGRAM and _NEW_PROGRAM_CONSTANTS.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebfbd8c4fef78e3cd9604660e5bb96e3c6df07e5
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 13:46:58 2009 -0600
i965: disable debug printf
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac22178eb049126003db40b0a77a111498a12ab7
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 11:52:16 2009 -0600
i965: enable VS constant buffers
In the VS constants can now be handled in two different ways:
1. If there's room in the GRF, put constants there. They're preloaded from
the CURBE prior to VS execution. This is the historical approach. The
problem is the GRF may not have room for all the shader's constants and
temps and misc registers. Hence...
2. Use a separate constant buffer which is read from using a READ message.
This allows a very large number of constants and frees up GRF regs for
shader temporaries. This is the new approach. May be a little slower
than 1.
1 vs. 2 is chosen according to how many constants and temps the shader needs.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c8fb6acc10662c9e71078c9f273db6c7808e9ff
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 11:47:59 2009 -0600
i965: define BRW_MAX_GRF
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=21a422d97e501f4ca68ab24ad3fe5f5eb1393349
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 11:29:49 2009 -0600
i965: remove old code to init surface-related cache IDs
These types are only found in the new surface state cache now.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0c58cf5cfc11b9256287871660cc16966e662ef
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 11:28:24 2009 -0600
i965: comments, reformatting
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4843e54fc69daf379dea9899673b3df92b44049c
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 11:12:07 2009 -0600
i965: actually use the new, second surface state cache
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9af97c7a5d81226a87d79baf8fb00231c96398d
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 11:08:46 2009 -0600
i965: checkpoint commit: use two state caches instead of one
The new, second cache will only be used for surface-related items.
Since we can create many surfaces the original, single cache could get
filled quickly. When we cleared it, we had to regenerate shaders, etc.
With two caches, we can avoid doing that.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a071a8d2e72e52e6a8906448b171756c8920ce96
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 10:44:36 2009 -0600
i965: remove unused state atom entries
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f428255bde93a452a7cdd48fba21839c99beb6cb
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 09:23:15 2009 -0600
i965: the brw_constant_buffer state atom is no longer dynamic
No more dynamic atoms so we can simplify the state validation code a little.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5681fc176bc43bc6c7804bd1e8d8557cdcab345
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 09:16:21 2009 -0600
i965: add _NEW_PROGRAM_CONSTANTS to mesa_bits[] list
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a36dd5d54e3de5662c694e764d1c49795ddb6814
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 09:14:53 2009 -0600
i915: check the new _NEW_PROGRAM_CONSTANT flag
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1dbab84e21cad81e971265db3dbc8dc6c344b340
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 09:14:16 2009 -0600
i965: use _NEW_PROGRAM_CONSTANTS and always create new const buffers
When program constants change we create a new VS constant buffer
instead of re-using the old one. This allows us to have several
const buffers in flight with vertex rendering.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b6a23c0f7e042d71764a2028f3d33b59076ac7c
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 09:07:46 2009 -0600
i965: updates to some debug code
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=817dcdd280cd749c3186bd3f00c06f41270aa884
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 09:07:02 2009 -0600
i965: use new _NEW_PROGRAM_CONSTANTS flag instead of dynamic flags
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f48473e42511f8d37a239a07f791bc0a87209e5b
Author: Brian Paul <brianp at vmware.com>
Date: Wed Apr 22 08:59:47 2009 -0600
r200/r300/r500: add _NEW_PROGRAM_CONSTANTS flag
Make sure we detect constant buffer changes indicated by the new flag.
Should be able to remove _NEW_PROGRAM (and _NEW_MODELVIEW, _NEW_LIGHT, etc)
from several places (someday.
More information about the mesa-commit
mailing list