summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2009-12-09gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell
The idea here is to eliminate the set_edgeflags() call in pipe_context by treating edgeflags as a regular vertex element. Edgeflags provoke special treatment in hardware, which means we need to label them in some way, in this case we'll be passing them through the vertex shader and labelling the vertex shader output with a new TGSI semantic (TGSI_SEMANTIC_EDGEFLAG).
2009-12-09util: Document the meaning of util_format_layout.José Fonseca
The util_format_layout name was unfortunate and there are as been a lot of confusion due to this. Hopefully this will shed some light on what it was meant for. Bottom line is: do not rely on these values unless you're automatically code generating pixel packing/unpacking routines. Suggestions for better names than util_format_layout are welcome!
2009-12-08Merge branch 'gallium-strict-aliasing'Roland Scheidegger
2009-12-08tgsi: fix some off-by-one errors in shader length, instruction lengthBrian Paul
The ureg and/or tgsi-simplification work introduced some inconsistencies between the ureg and traditional TGSI construction code. Now the tgsi_instruction::NrTokens field is consistant and the tgsi_header::BodySize field isn't off by one. Fixes bug 25455.
2009-12-07gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger
use pointer to union instead of void pointer. gcc complained a lot, depending what the pointer originally actually was. Looks like it's in fact maybe legal to cast for instance uint pointers to union pointers as long as union contains a uint type, hence use this with some callers, other just use union util_color in the first place.
2009-12-07util/tile: Support R8G8B8A8_UNORM format.Michal Krol
2009-12-04Merge branch 'gallium-noblocks'Roland Scheidegger
Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
2009-12-03gallium: fix ref counting bug in pb_bufmgrJosé Fonseca
This was discovered by the pipe_reference api change.
2009-12-03gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger
Historically, parts of mesa code are not strict-aliasing safe, hence -fno-strict-aliasing is needed to compile (this got forgotten for scons builds for gallium, which indeed not only caused compiler warnings but also unexplicable crashes in non-debug builds). However, we should try to eliminate code not complying with strict-aliasing code at least for gallium. Hence change pipe_reference functions to make them strict-aliasing compliant. This adds a bit more complexity (especially for derived classes) but is the right thing to do, and it does in fact fix a segfault.
2009-12-03tgsi/ureg: Fix ureg_emit_src().Michal Krol
2009-12-02cso: check if pipe_context::bind_vertex_sampler_states is non-nullBrian Paul
Fixes segfaults upon exit when the CSO module is releasing its objects.
2009-12-02gallium/util: __builtin_bswap32() is in only gcc 4.3 or laterBrian Paul
2009-12-03util: Fix generated swizzle comments.José Fonseca
2009-12-01tgsi: fix ureg emit after version token changeKeith Whitwell
2009-12-01Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell
Conflicts: src/gallium/drivers/r300/r300_vs.c
2009-12-01Merge commit 'origin/mesa_7_7_branch'Keith Whitwell
Conflicts: src/gallium/drivers/svga/svga_screen_texture.c src/gallium/state_trackers/xorg/xorg_composite.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/main/texgetimage.c src/mesa/main/version.h
2009-12-01cso: Fix function prototype.Michal Krol
2009-12-01vl: Update for renamed sampler/texture state setters.Michal Krol
2009-12-01draw: Update for renamed sampler/texture state setters.Michal Krol
2009-12-01cso: Add support for separate vertex sampler state.Michal Krol
2009-12-01tgsi/sanity: Up MAX_REGISTERS to 1024.Michal Krol
2009-11-30fixups for interface changes (mostly state trackers)Roland Scheidegger
2009-11-30gallium: interface cleanups, remove nblocksx/y from pipe_texture and moreRoland Scheidegger
This patch removes nblocksx, nblocksy arrays from pipe_texture (can be recalculated if needed). Furthermore, pipe_format_block struct is gone completely (again, contains just derived state). nblocksx, nblocksy, block are also removed from pipe_transfer, together with the format enum (can be obtained from the texture associated with the transfer).
2009-11-28util: Fix bad code.Corbin Simpson
Uf. How embarrassing.
2009-11-28util: Improve bitcount.Corbin Simpson
Sorry for not pushing this before, it got lost in stashes.
2009-11-27gallium/util: added util_bswap32()Christoph Bumiller
2009-11-27Merge branch 'width0'Roland Scheidegger
Conflicts: src/gallium/drivers/r300/r300_texture.c src/gallium/state_trackers/xorg/xorg_exa.c src/mesa/state_tracker/st_cb_texture.c
2009-11-27rbug: Mention where the GUI can be found.José Fonseca
2009-11-27vl: Do not emit tgsi_version token.Michal Krol
2009-11-27tgsi: Remove tgsi_version token.Michal Krol
2009-11-26gallium: fix more statetrackers/drivers for not using texture ↵Roland Scheidegger
width/height/depth arrays
2009-11-26tgsi/exec: Fix orientation of DDY.Michal Krol
2009-11-26tgsi/exec: Force return from a subroutine at ENDSUB.Michal Krol
2009-11-26draw: Fix max_index check.Keith Whitwell
We want to fallback to draw splitting when vertex element indices might be too high for atomic draw path (currently limited to 4095).
2009-11-26tgsi/ureg: Add forgotten goto in ureg_DECL_constant().Michal Krol
2009-11-25tgsi: Fix token builder.Michal Krol
2009-11-25tgsi: Update raw token dumper after token definition changes.Michal Krol
2009-11-24tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell
SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
2009-11-24tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell
DstRegister -> Register DstRegisterInd -> Indirect
2009-11-24tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell
DeclarationRange -> Range
2009-11-24tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell
InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
2009-11-24tgsi: reduce repetition of structure name in its membersKeith Whitwell
Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
2009-11-24tgsi: remove unnecessary full_token init and free functionsKeith Whitwell
2009-11-24tgsi: remove unused Flags member from full_instructionKeith Whitwell
2009-11-24util: Describe a few more formats.José Fonseca
2009-11-24gallium: simplify tgsi tokens furtherKeith Whitwell
Drop anonymous 'Extended' fields, have every optional token named explicitly in its parent. Eg. there is now an Instruction.Label flag, etc. Drop destination modifiers and other functionality which cannot be generated by tgsi_ureg.c, which is now the primary way of creating shaders. Pull source modifiers into the source register token, drop the second negate flag. The source register token is now full - if we need to expand it, probably best to move all of the modifiers to a new token and have a single flag for it.
2009-11-25util: also print out memory statisticsZack Rusin
2009-11-24tgsi: Document Declaration Semantic token and FACE semantic name.Michal Krol
2009-11-24tgsi: Implement predicated instructions in exec.Michal Krol
2009-11-24tgsi: Add ureg_DECL_loop().Michal Krol