aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i915/i915_fpc_translate.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: replace INLINE with inlineIlia Mirkin2015-07-211-1/+1
| | | | | | | | | | | | | | | | Generated by running: git grep -l INLINE src/gallium/ | xargs sed -i 's/\bINLINE\b/inline/g' git grep -l INLINE src/mesa/state_tracker/ | xargs sed -i 's/\bINLINE\b/inline/g' git checkout src/gallium/state_trackers/clover/Doxyfile and manual edits to src/gallium/include/pipe/p_compiler.h src/gallium/README.portability to remove mentions of the inline define. Signed-off-by: Ilia Mirkin <[email protected]> Acked-by: Marek Olšák <[email protected]>
* gallium: remove TGSI_SAT_MINUS_PLUS_ONEMarek Olšák2015-05-201-1/+1
| | | | | | | | It's a remnant of some old NV extension. Unused. I also have a patch that removes predicates if anyone is interested. Reviewed-by: Roland Scheidegger <[email protected]>
* i915g: Use the actual MIN instruction.Kenneth Graunke2015-02-171-15/+1
| | | | | | | | | | | | | Matt Turner noticed that the hardware has always had a MIN instruction, but the driver always used MAX+MOV for no apparent reason. This should cut an instruction, and a temporary, allowing more programs to run in hardware. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* i915g: Don't write constants past I915_MAX_CONSTANTStéphane Marchesin2014-11-221-1/+1
| | | | | | | | This happens with glsl-convolution-1, where we have 64 constants. This doesn't make the test pass (we don't have 64 constants anyway, only 32) but this prevents it from crashing. Signed-off-by: Stéphane Marchesin <[email protected]>
* s/Tungsten Graphics/VMware/José Fonseca2014-01-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the old copyright name is creating unnecessary confusion, hence this change. This was the sed script I used: $ cat tg2vmw.sed # Run as: # # git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed # # Rename copyrights s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g /Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./ s/TUNGSTEN GRAPHICS/VMWARE/g # Rename emails s/[email protected]/[email protected]/ s/[email protected]/[email protected]/g s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/ s/jrfonseca\[email protected]/[email protected]/g s/keithw\[email protected]/[email protected]/g s/[email protected]/[email protected]/g s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/ s/[email protected]/[email protected]/ # Remove dead links s@Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics@g # C string src/gallium/state_trackers/vega/api_misc.c s/"Tungsten Graphics, Inc"/"VMware, Inc"/ Reviewed-by: Brian Paul <[email protected]>
* i915g: Add more optimizationsStéphane Marchesin2013-09-041-8/+9
| | | | | | | | | This patch adds liveness analysis to i915g and a couple optimizations which benefit from it. One interesting optimization turns (fake) indirect texture accesses into direct texture accesses (the i915 supports a maximum of 4 indirect texture accesses). Among other things this fixes a bunch of piglit tests.
* tgsi: rename the TGSI fragment kill opcodesBrian Paul2013-07-121-5/+3
| | | | | | | | | | | | | | | | | | | | | TGSI_OPCODE_KIL and KILP had confusing names. The former was conditional kill (if any src component < 0). The later was unconditional kill. At one time KILP was supposed to work with NV-style condition codes/predicates but we never had that in TGSI. This patch renames both opcodes: TGSI_OPCODE_KIL -> KILL_IF (kill if src.xyzw < 0) TGSI_OPCODE_KILP -> KILL (unconditional kill) Note: I didn't just transpose the opcode names to help ensure that I didn't miss updating any code anywhere. I believe I've updated all the relevant code and comments but I'm not 100% sure that some drivers had this right in the first place. For example, the radeon driver might have llvm.AMDGPU.kill and llvm.AMDGPU.kilp mixed up. Driver authors should review their code. Reviewed-by: Jose Fonseca <[email protected]>
* gallium/drivers: handle TGSI_OPCODE_CEILChristoph Bumiller2012-05-091-0/+16
|
* i915g: Fix fallout from 8e4540ec2a82e72be491bc8fe23c10551d29a96cStéphane Marchesin2012-02-241-4/+10
| | | | Fixes piglit regressions from that change.
* i915g: Fix comment.Stéphane Marchesin2012-02-121-1/+1
|
* i915g: Separate declarations and program in the fragment program struct.Stéphane Marchesin2012-02-121-5/+14
| | | | We need this later to fixup fragment programs properly.
* i915g: Allocate tmp for KILPStéphane Marchesin2011-12-301-0/+2
| | | | This fixes https://bugs.freedesktop.org/show_bug.cgi?id=44297
* i915g: Implement KILP.Stéphane Marchesin2011-12-191-3/+12
|
* i915g: Fix comment.Stéphane Marchesin2011-10-051-1/+1
|
* i915g: Don't generate useless swizzles before texture accesses.Stéphane Marchesin2011-09-221-2/+31
| | | | That helps reduce the number of texture indirections, which are very limited on i915.
* i915g: Fix whitespace.Stéphane Marchesin2011-09-221-13/+13
|
* i915g: Add ifdef'd out code to dump compiled shaders.Stéphane Marchesin2011-09-211-0/+4
|
* i915g: Fix whitespace.Stephane Marchesin2011-08-041-1/+1
|
* i915g: move declaration before codeBrian Paul2011-07-141-1/+2
|
* i915g: introduce the tiny shader optimizer.Stéphane Marchesin2011-07-061-95/+100
|
* i915g: Add comment about DDX/DDY.Stéphane Marchesin2011-07-061-0/+1
|
* i915g: Try to do better in the shader compiler.Stéphane Marchesin2011-06-291-5/+9
| | | | | | - Copy i915c's support for phases, that should allow us to run a coupe more shaders. - Fix the error messages. - Still try to proceed when we get a shader that's too long.
* i915g: Move definition of M_PI in i915_fpc_translate.cJon TURNEY2011-06-291-5/+3
| | | | | | | | Move defintion of M_PI (for the benefit of <math.h> which do not define it), to before the first use of it Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* i915g: Fix unimplemented Abs comment.Stéphane Marchesin2011-06-291-1/+1
|
* i915g: Fix comment about sin/cos constants.Stéphane Marchesin2011-06-281-2/+2
|
* i915g: Add a debug_printf when we get the Abs flag.Stéphane Marchesin2011-06-281-0/+3
|
* i915g: Improve SIN/COS a bit.Stéphane Marchesin2011-06-281-20/+20
|
* i915g: Fix a bug in facing.Stéphane Marchesin2011-06-271-3/+0
| | | | However doesn't work because of limitations in the draw module.
* i915g: initial support for SEMANTIC_FACE.Stéphane Marchesin2011-06-271-0/+9
| | | | Doesn't work yet, see TODO.
* i915g: Implement fake DDX/DDY.Stéphane Marchesin2011-06-271-0/+12
|
* i915g: Fix gl_FragCoord.Stéphane Marchesin2011-06-271-43/+6
|
* i915g: Fix comment.Stéphane Marchesin2011-06-221-1/+1
| | | | Reported-by: Marcin Baczynski <[email protected]>
* i915g: Do generic remapping.Stéphane Marchesin2011-06-061-75/+95
| | | | | | With complex shaders there are often "holes" in the fs inputs, and we only have 8 tex coorsd to map those to. To fix this, we remap fs inputs to [0..8]. This lets us to run many more GLSL programs.
* i915g: implement more opcodes.Stéphane Marchesin2011-06-061-12/+82
|
* i915g: implement TGSI_OPCODE_SEQ.Stéphane Marchesin2011-06-061-0/+28
|
* i915g: handle varyings properly.Stéphane Marchesin2011-06-061-2/+8
|
* i915g: Use tgsi_info from fragment shader insteadJakob Bornecrantz2011-03-051-4/+1
|
* i915g: use passthough shader for empty fragment programsDaniel Vetter2011-03-041-3/+15
| | | | | | | | | | The hw doesn't like it - demos/shadowtex is broken. The emitted shader isn't totally empty though, the depth write fixup gets emitted instead. Maybe that one is somewhat fishy, too? Idea for this patch from Jakob Bornecrantz. Signed-off-by: Daniel Vetter <[email protected]>
* i915g: Ignore color0 writes all cbufs tgsi propertyJakob Bornecrantz2010-12-271-0/+8
|
* tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell2009-11-241-10/+10
| | | | | | | SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
* tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell2009-11-241-5/+5
| | | | | DstRegister -> Register DstRegisterInd -> Indirect
* tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell2009-11-241-4/+4
| | | | DeclarationRange -> Range
* tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell2009-11-241-58/+58
| | | | | | | | InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
* gallium: try and update r300 and nv drivers for tgsi changesKeith Whitwell2009-11-241-3/+2
| | | | | | | | It would be nice if these drivers built under the linux-debug header so that these types of interface changes can be minimally propogated into those drivers by people without the hardware. They don't have to generate a working driver -- though a command-dumping winsys would be an excellent for regression checking.
* gallium: simplify tgsi tokens furtherKeith Whitwell2009-11-241-1/+1
| | | | | | | | | | | | | | | 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.
* gallium: remove extended negate also, and also the ExtSwz tokenKeith Whitwell2009-10-231-11/+2
| | | | | | Likewise, the extended negate functionality hasn't been used since mesa switched to using tgsi_ureg to build programs, and has been translating the SWZ opcode internally to a single MAD.
* gallium: remove the swizzling parts of ExtSwizzleKeith Whitwell2009-10-231-15/+5
| | | | | | | | | These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.
* i915g: Fix warningsJakob Bornecrantz2009-10-141-1/+1
|
* i915g: Drop the simple sufixJakob Bornecrantz2009-10-051-0/+1202
None of the other driver have a silly sufix, so just drop it. Nothing new added in this commit or any other commit but this is better marketing.