c5e473fbe25b20cb27aac44ff6e269701abd33a8 |
|
16-Apr-2012 |
Marek Olšák <maraeo@gmail.com> |
mesa: add gl_context::NewDriverState and use it for vertex arrays The vbo module recomputes its states if _NEW_ARRAY is set, so it shouldn't use the same flag to notify the driver. Since we've run out of bits in NewState and NewState is for core Mesa anyway, we need to find another way. This patch is the first to start decoupling the state flags meant only for core Mesa and those only for drivers. The idea is to have two flag sets: - gl_context::NewState - used by core Mesa only - gl_context::NewDriverState - used by drivers only (the flags are defined by the driver and opaque to core Mesa) It makes perfect sense to use NewState|=_NEW_ARRAY to notify the vbo module that the user changed vertex arrays, and the vbo module in turn sets a driver-specific flag to notify the driver that it should update its vertex array bindings. The driver decides which bits of NewDriverState should be set and stores them in gl_context::DriverFlags. Then, Core Mesa can do this: ctx->NewDriverState |= ctx->DriverFlags.NewArray; This patch implements this behavior and adapts st/mesa. DriverFlags.NewArray is set to ST_NEW_VERTEX_ARRAYS. Core Mesa only sets NewDriverState. It's the driver's responsibility to read it whenever it wants and reset it to 0. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
50f7e75f9e945cfbb2ae868cc961a2205a0b6e73 |
|
23-Apr-2012 |
Marek Olšák <maraeo@gmail.com> |
mesa: move gl_client_array*[] from vbo_draw_func into gl_context In the future we'd like to treat vertex arrays as a state and not as a parameter to the draw function. This is the first step towards that goal. Part of the goal is to avoid array re-validation for every draw call. This commit adds: const struct gl_client_array **gl_context::Array::_DrawArrays. The pointer is changed in: * vbo_draw_method * vbo_rebase_prims - unused by gallium * vbo_split_prims - unused by gallium * st_RasterPos Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
14bb957b996dcc5392b8fa589bd3ffa5c55cb6b4 |
|
09-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
mesa: implement DrawTransformFeedback from ARB_transform_feedback2 It's like DrawArrays, but the count is taken from a transform feedback object. This removes DrawTransformFeedback from dd_function_table and adds the same function to GLvertexformat (with the function parameters matching GL). The vbo_draw_func callback has a new parameter "struct gl_transform_feedback_object *tfb_vertcount". The rest of the code just validates states and forwards the transform feedback object into vbo_draw_func.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
edc09358f72cd48cb2315daf23c82e7646aeaea3 |
|
09-Jan-2011 |
Vinson Lee <vlee@vmware.com> |
st/mesa: Include mfeatures.h in files that perform feature tests.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
f9995b30756140724f41daf963fa06167912be7f |
|
12-Oct-2010 |
Kristian Høgsberg <krh@bitplanet.net> |
Drop GLcontext typedef and use struct gl_context instead
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
4160d947d289c07f1de6b8bf21a874e842b51f51 |
|
30-Sep-2010 |
Nicolas Kaiser <nikai@nikai.net> |
st: remove duplicated include Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
bcce57c2e9a1d9b203dba8fe13480889e6d19c89 |
|
30-Mar-2010 |
Chia-I Wu <olv@lunarg.com> |
st/mesa: Make FEATURE_feedback and FEATURE_rastpos more modular. Make st_cb_feedback.h FEATURE_feedback aware and st_cb_rastpos.h FEATURE_rastpos aware. Move creation of selection/feedback draw context to st_init_draw.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
76c7ad2e7d387feefe58dc2116b613fe11a8b273 |
|
23-Apr-2010 |
Brian Paul <brianp@vmware.com> |
st/mesa: clean-up: use st_context() everywhere
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
32f2fd1c5d6088692551c80352b7d6fa35b0cd09 |
|
19-Feb-2010 |
Kristian Høgsberg <krh@bitplanet.net> |
Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versions
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
282dafcdc7a809714f27fd609489b19d45360258 |
|
13-Feb-2010 |
Brian Paul <brianp@vmware.com> |
st/mesa: restore draw rasterization stage after rasterpos This fixes invalid calls to rastpos_point/line/tri() that can occur when glRasterPos() is called while in feedback or selection mode. (cherry picked from commit b3c7dc6ff232eb4c5ff6b0ddcfa90bcb56f78df1)
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
79a5a2839029eef23f4c238fec6878b5f87ceec3 |
|
15-Jan-2010 |
Vinson Lee <vlee@vmware.com> |
st/mesa: Remove unnecessary header from st_cb_rasterpos.c.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
2708ddfb06a36d8568e2aa130bf1f7d551fcd309 |
|
11-Aug-2009 |
Eric Anholt <eric@anholt.net> |
vbo: Avoid extra validation of DrawElements. This saves mapping the index buffer to get a bounds on the indices that drivers just drop on the floor in the VBO case (cache win), saves a bonus walk of the indices in the CheckArrayBounds case, and other miscellaneous validation. On intel it's a particularly a large win (50-100% in my app) because even though we let the indices stay in both CPU and GPU caches, we still end up waiting for the GPU to be done with the buffer before reading from it. Drivers that want the min/max_index fields must now check index_bounds_valid and use vbo_get_minmax_index before using them.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
c13bd7488593263f2c45c136b63114ce8b4602fb |
|
28-May-2009 |
Brian Paul <brianp@vmware.com> |
st/mesa: init Format field of vertex arrays for feedback mode Fixes segfault in glRasterPos()
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
842b4cd3cdb313751647e229a9aa3f0001e03d15 |
|
22-May-2009 |
Brian Paul <brianp@vmware.com> |
mesa: use Elements() for loop limit
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
f1a59a6dd7b7b0523db191d82b3af1a841c6475d |
|
12-Feb-2009 |
Brian Paul <brianp@vmware.com> |
mesa: use new ST_CALLOC_STRUCT() macro in gallium state tracker
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
1a2f4dd8768703fbc1b2a0d5be342345644805b4 |
|
12-Feb-2009 |
Brian Paul <brianp@vmware.com> |
mesa: consistantly use mesa memory-functions in gallium state tracker Use _mesa_malloc(), _mesa_free(), etc everywhere, not malloc(), free(), etc. Still using CALLOC_STRUCT() at this point.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
eb9bbc5265562cb6f93688fc027ea76f91601e37 |
|
03-Jan-2009 |
Brian Paul <brianp@vmware.com> |
gallium: fix texcoord loop for rasterpos attributes
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
f8870af44b32d4c69ef11013897143d46966c8e4 |
|
25-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix inverted raster pos when drawing into FBO
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
6c534b830c6f5427c391c5225c34561141c201ba |
|
15-Jul-2008 |
Michal Krol <michal@tungstengraphics.com> |
st: Silence compiler warnings on Windows.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
507fbe2d327efb8d608ce8e07436b97321560808 |
|
19-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
draw: move some pipeline-specific code & state to draw_pipe.[ch]
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
9a264a056abc376a70e01f097934d590a36df887 |
|
28-Feb-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: in GL_SELECT mode, update hitflag in rasterpos
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
80efc5feb061a8ed9c1e91ad3711547927fa29e3 |
|
26-Feb-2008 |
Brian <brian@poulsbo.localnet.net> |
gallium: fix off by one rasterpos bug
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
6acd63a4980951727939c0dd545a0324965b3834 |
|
15-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Code reorganization: update build. Update the Makefiles and includes for the new paths. Note that there hasn't been no separation of the Makefiles yet, and make is jumping all over the place. That will be taken care shortly. But for now, make should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm might require some minor tweaks.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
0bfd085e2866fbbd40209dcee23f0e6240583fe8 |
|
25-Jan-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: replace prim pipeline begin/end() functions with flush() This is basically half of Keith's draw/flush patch. The stage->point/line/tri() functions are now self-validating, the validator functions are installed by the flush() function. There were excessive calls to validate_pipeline(), however. This was caused by draw_prim_queue_flush() keeping a local 'first' variable that always pointed to the validate functions. Replaced 'first' with 'draw->pipeline.first'. Performance in gears is up just slightly with this patch.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
48355538a65fe9c0be234c61080edd70f6a86736 |
|
24-Jan-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added rastpos_destroy()
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
c753e7adde9a7a2c8ff772fe8e2a42084c5966e0 |
|
25-Jan-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: added rastpos_destroy()
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
7049ff53f640aeccc9523a103468183ffda996fd |
|
22-Jan-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: silence warnings
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
48731280d08bef51c406703e82986643e17b4757 |
|
11-Dec-2007 |
Keith Whitwell <keith@tungstengraphics.com> |
gallium: Remove feedback interfaces from pipe driver. Something similar will return when geometry shaders are added, but for now this interface is not required.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
aa880bdfa05d8ff2486ef8266f93dea983b7c6fd |
|
17-Nov-2007 |
Brian <brian.paul@tungstengraphics.com> |
Reimplement glRasterPos using the private 'draw' module.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
fa1a66d7fc4fd7854de7958a48e4992edd154489 |
|
05-Nov-2007 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Supply buffer usage hints to winsys. Winsys driver needs some hints in order to allocate the appropriate kind of memory for the buffer.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
5bd119f9438b680f5e42458ef0b250662af36235 |
|
18-Oct-2007 |
Brian <brian.paul@tungstengraphics.com> |
handle fogcoord/raster distance
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
f953c223df26293f955f7d0621a6f917e9cc9768 |
|
18-Oct-2007 |
Brian <brian.paul@tungstengraphics.com> |
remove #include vf.h
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
38743e2ef1091304a7059c04c157fde80bd977ec |
|
17-Oct-2007 |
Brian <brian.paul@tungstengraphics.com> |
generate selection hit if in selection mode and pos is not clipped
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
a24031d50c6b4c584aae08316dc3c00e18e24b58 |
|
01-Oct-2007 |
Brian <brian.paul@tungstengraphics.com> |
don't crash in RasterPos if feedback not implemented yet
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
40c543eb71368c646259afb87d5c76551f6b45b7 |
|
25-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
Translate mesa vertex/fragment programs to TGSI programs at same time to do proper linking. Previously, programs were translated independently during validation. The problem is the translation to TGSI format, which packs shader input/outputs into continuous slots, depends on which vertex program is being paired with which fragment shader. Now, we look at the outputs of the vertex program in conjunction with the inputs of the fragment shader to be sure the attributes match up correctly. The new 'linked_program_pair' class keeps track of the associations between vertex and fragment shaders. It's also the place where the TGSI tokens are kept since they're no longer per-program state but per-linkage. Still a few loose ends, like implementing some kind of hash/lookup table for linked_program_pairs.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
da45890818ab5ae94592208e3581b5c2febaa6b4 |
|
21-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
Fix up some point size breakage. Start on fogcoord too.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
c231a9d020bdec8e0749a5547971c79de64f73d8 |
|
20-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
remove #includes of tgsi_attribs.h
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
daf5b0f41baa50951e7c2f9ea5cd90b119085a7f |
|
20-Sep-2007 |
Zack Rusin <zack@tungstengraphics.com> |
Switch fragment/vertex shaders to the new caching semantics. Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
37cf13ed9a429c755f121daa1776b1b30a985ab3 |
|
20-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics. TGSI_ATTRIB_x tokens still present and used in a few places. Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning of inputs/outputs. These tokens are in a crude state ATM. Lots of #if 0 / disabled code to be removed yet, etc... Softpipe and i915 drivers should be in working condition but not heavily tested.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
ccd63b54cfbb6bb241d55f7ac95afcd14819f469 |
|
18-Sep-2007 |
Zack Rusin <zack@tungstengraphics.com> |
Convert shader to an immutable state object.
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
6275b40063d7d06e0b05767ebca3963ce7e9c34e |
|
11-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
merge buffer_unreference(), buffer_reference()
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|
bb193c6d22125f1af62e81c1251acd2a68939608 |
|
11-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
glRasterPos function
/external/mesa3d/src/mesa/state_tracker/st_cb_rasterpos.c
|