Commit graph

46156 commits

Author SHA1 Message Date
Dave Airlie
cdeffbfddc r600g: add initial evergreen integer opcode support
This just adds the opcodes for evergreen, need to work on r600 and cayman
implementations.

don't advertise nativeintegers yet until we work out all the regressions.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-09-06 10:22:24 +01:00
Dave Airlie
2957e44664 docs: update gl3.txt for ARB_vertex_type_2_10_10_10_rev 2011-09-06 10:18:36 +01:00
Dave Airlie
f154ac9cc2 mesa/st: add support for 2101010 vertex format conversion.
Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-09-06 10:18:18 +01:00
Dave Airlie
6cd2d55a7b mesa/varray: add interface support for ARB_vertex_type_2_10_10_10_rev (v2)
This just adds all the API check for vertex arrays using 2101010 types.

2101010 is also useable with GL_BGRA.

v2: fix whitespace.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2011-09-06 10:18:18 +01:00
Dave Airlie
51fcf080a3 mesa/vbo: add ARB_vertex_type_2_10_10_10_rev APIs.
This adds the vertex processing paths for the 2101010 types. It converts
the attributes to floats for all the immediate entry points, some entrypoints
are normalised and the attrib APIs take a normalized parameter.

There are four main paths,
ui10 -> float unnormalized
i10 -> float unnormalized
ui10 -> float normalized
i10 -> float normalized
along with the ui2/i2 equivs.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-09-06 10:18:17 +01:00
Dave Airlie
667351bc5f mesa: add initial API changes for ARB_vertex_type_2_10_10_10_rev.
add new APIs to the internal mesa driver interface + set funcs in vtxfmt.c

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2011-09-06 10:16:32 +01:00
Dave Airlie
2b3da6b01e glapi: regen API files for new extension
Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-09-06 10:16:16 +01:00
Dave Airlie
3543160f56 glapi: add ARB_vertex_type_2_10_10_10_rev entrypoints. (v2)
These are the new API entrypoints for ARB_vertex_type_2_10_10_10_rev
extension, along with the new INT_2_10_10_10_REV enum.

v2: fixup crazy whitespace cut-n-paste mess

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2011-09-06 10:15:59 +01:00
Bryan Cain
4e64cfbb4e mesa: add a UniformBooleanTrue option
Drivers supporting native integers set UniformBooleanTrue to the integer value
that should be used for true when uploading uniform booleans.  This is ~0 for
Gallium and 1 for i965.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-09-05 19:51:29 -05:00
Dave Airlie
f9b7d3bd4a r600g: add 10/10/10/2 vertex format conversion. 2011-09-05 19:08:18 +01:00
Dave Airlie
797bb0eb47 gallium: add missing formats for ARB_vertex_type_2_10_10_10_rev
This just reorgs one define in csv file, and adds all the new formats
that are needed for this extension.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-09-05 19:08:17 +01:00
Tobias Droste
4a468de2d7 gallivm: fix build with LLVM 3.0svn
LLVM 3.0svn moved TargetRegistry.h and TargetSelect.h.
See revision 138450 of LLVM.

Signed-off-by: Tobias Droste <tdroste@gmx.de>
2011-09-05 18:49:11 +01:00
Bryan Cain
0dc575c6f6 glsl_to_tgsi: fixes for native integers and integer booleans
This fixes all but one of the piglit regressions from enabling native integers
in softpipe.  The change to fix the last regression is still being discussed.
2011-09-04 14:31:16 -05:00
Maarten Lankhorst
a09754c15f xvmc: Replace frame_started by picture_structure
The preferred solution to keeping track of the picture structure
has been putting it in the state tracker, so use picture_structure
instead of frame_started to check if a frame needs to begin.

If picture_structure has been changed, end the frame and start again.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
2011-09-04 13:51:50 +02:00
Yuanhan Liu
0a00a9a05b intel: fix build error
Fix a build error introduced by commit 6862b54f:
i965_dri.so.tmp: undefined reference to `strerr'

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
2011-09-03 07:26:52 -07:00
Marek Olšák
5572de8e7e mesa: handle zero-size buffers in MapBuffer and ranges in MapBufferRange (v3)
Reviewed-by: Brian Paul <brianp@vmware.com>
2011-09-02 22:39:56 +02:00
Marek Olšák
0a33ac5413 glsl_to_tgsi: fix more potential shader reference leaks
The last one has been pointed out by Ian.
2011-09-02 22:39:56 +02:00
Eugeni Dodonov
6862b54f4d intel: Give an explanation why we are exiting for debugging.
This could happen in 3 different cases, and ERRNO can explain what
happened. First case would be EIO (gpu hang), second EINVAL (something is
wrong inside the batch), and we also discovered that sometimes it happens
with ENOSPACE. All of those cases are different it it could be worth to at
least know what happened.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-02 16:23:32 -03:00
Kenneth Graunke
ee41383ab3 i965/vs: Fix NULL pointer dereference in pre-Gen6 push constant loading.
According to the comment, we need to load /some/ push constants on
pre-Gen6 hardware or the GPU will hang.  The existing code set these
bogus parameters to NULL pointers; unfortunately, the code in
brw_curbe.c that loads them dereferences those pointers.  So, change
them to be pointers to an actual floating point value of 0.0.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
2011-09-02 12:17:06 -07:00
Eric Anholt
7fdbedac14 intel: Upload batchbuffer contents even if INTEL_NO_HW is set.
It is useful for debugging to dump batchbuffers while not actually
executing them.
2011-09-02 12:17:05 -07:00
Dave Airlie
0b666106c5 gallium: add caps for MIN/MAX texel offsets.
As per Brian's suggestion, add caps for drivers that support texture
offsets to advertise a min/max via TGSI, also use it in the state tracker.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2011-09-02 10:48:09 +01:00
Dave Airlie
2083a276eb tgsi: add support for texture offsets to the TGSI IR. (v2)
This adds tokens for texture offsets, to store 4 * swizzled vec 3
for use in TXF and other opcodes.

It also contains TGSI exec changes for softpipe to use this code,
along with GLSL->TGSI support for TXF.

v2: add some more comments, add back padding I removed.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2011-09-02 10:47:45 +01:00
Christian König
49e24d3b8c st/vdpau: Implement VdpOutputSurfacePutBitsIndexed and VdpOutputSurfaceRenderOutputSurface
This gets mplayers menu overlay working.

Signed-off-by: Christian König <deathsimple@vodafone.de>
2011-09-01 19:20:47 +02:00
Christian König
41fa51a49a st/xvmc: the alpha component of palette entries isn't used 2011-09-01 19:20:47 +02:00
Christian König
4f37636afb g3dvl: extend the functionality of the compositor
Prepares for vdpau menu overlay.
2011-09-01 19:20:46 +02:00
Christian König
23f01fd31c gallium: add R8A8 and A8R8 UNORM formats
They are mostly used for menu overlay in video decoding.

Signed-off-by: Christian König <deathsimple@vodafone.de>
2011-09-01 19:20:46 +02:00
Christian König
8612235bbf st/xvmc: remove L4A4_UNORM workaround
This is no longer needed, since we now have native support for IA44 and AI44.

Signed-off-by: Christian König <deathsimple@vodafone.de>
2011-09-01 19:20:46 +02:00
Christian König
0d0285ba91 r600g: add support for R4A4 and A4R4 textures.
Sampling worked out of the box, but this make them work as surface as well.

Signed-off-by: Christian König <deathsimple@vodafone.de>
2011-09-01 19:20:46 +02:00
Christian König
cf49c49d0e gallium: try to cleanup a bit of the format mess created with pipe-video merge
Start with correctly defining IA44 and AI44 formats.

Signed-off-by: Christian König <deathsimple@vodafone.de>
2011-09-01 19:20:46 +02:00
Kristian Høgsberg
64332917c9 wayland: Use wl_resource_* error functions 2011-09-01 09:54:10 -04:00
Benjamin Franzke
11f64668a9 egl_dri2: Destroy callback in release_pending_buffer 2011-09-01 11:44:43 +02:00
Benjamin Franzke
59884b9b59 wayland-drm: Fix compilation with wayland master
c661ecce introduced some not-yet-upstream stuff.
2011-09-01 11:44:25 +02:00
Brian Paul
db3a7c366b swrast: get rid of needless do/while 2011-08-31 21:30:02 -06:00
Brian Paul
025cf209bc mesa: fix broken store_texel() functions
This fixes the swrast failures for piglit's fbo-generatemipmap-formats
test (for uncompressed formats).  At some point down the road this code
will go away so I haven't checked all the other store_texel() functions.
2011-08-31 21:23:33 -06:00
Chia-I Wu
6b9e4b6ca7 intel: fix GLESv1 support
Add intelInitExtensionsES1 to enable required and optional GLESv1
extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-09-01 10:53:31 +08:00
Chia-I Wu
820789ac69 intel: rename intel_extensions_es2.c to intel_extensions_es.c
We'd like to add intelInitExtensionsES1 to it later.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-09-01 10:53:31 +08:00
Chia-I Wu
644929849c i915: build i915_dri.so for Android
Simple demos such as test-opengl-gl_basic work.  SurfaceFlinger does not
work yet due to missing GL_OES_draw_texture support (and maybe more).

Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-09-01 10:53:30 +08:00
Chia-I Wu
47ba5c482f i915: factor our source lists into Makefile.sources
In preparation for porting i915 to Android, factor its source lists into
a shared makefile. This prevents duplication of source lists, and hence
prevents the Android build from breaking as often.

Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-09-01 10:53:30 +08:00
Chia-I Wu
05fdb44dd7 i965: fix Android build
Use $(TARGET_CC) instead of $(CC).  Correctly name and set LOCAL_CFLAGS.

Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-09-01 10:53:30 +08:00
Bryan Cain
488fe51cf8 mesa: Replace the EmitNoIfs compiler flag with a MaxIfDepth flag.
This is a better, more fine-grained way of lowering if statements.  Fixes the
game And Yet It Moves on nv50.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-08-31 21:49:26 -05:00
Kristian Høgsberg
7b1d94e5d1 wayland: Track changes to drop wl_visual 2011-08-31 18:33:47 -04:00
Kristian Høgsberg
447bb454d8 egl_dri2: Only clear EGL_PIXMAP_BIT if DRI config is double buffered
We don't want to set the pixmap bit in the EGL config if the DRI
config we're adding is a double buffered config.  However, don't clear
any other bits the platform might pass in in the surface_type
argument.
2011-08-31 18:33:36 -04:00
Kristian Høgsberg
c661ecce10 wayland: Track server side wayland changes 2011-08-31 18:20:40 -04:00
Kristian Høgsberg
6602bda23b wayland: Use new wl_callback mechanism 2011-08-31 16:50:50 -04:00
Brian Paul
82fff5f3ed mesa: fix comment typo: s/GL_SIGNED_NORMALED/GL_SIGNED_NORMALIZED/ 2011-08-31 14:34:48 -06:00
Bryan Cain
478034f34a glsl: Use a separate div_to_mul_rcp lowering flag for integers.
Using multiply and reciprocal for integer division involves potentially
lossy floating point conversions.  This is okay for older GPUs that
represent integers as floating point, but undesirable for GPUs with
native integer division instructions.

TGSI, for example, has UDIV/IDIV instructions for integer division,
so it makes sense to handle this directly.  Likewise for i965.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Bryan Cain <bryancain3@gmail.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2011-08-31 12:02:18 -07:00
Brian Paul
87679e2ea1 mesa: bump max program local params, max uniforms limit
Some driver support more than 1024.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-08-31 12:57:38 -06:00
Brian Paul
e26e9f77e7 swrast: initialize program native limits
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-08-31 12:57:01 -06:00
Eric Anholt
0c9ae24dbd i965/vs: Avoid the emit(), remove(), insert_before() for array instructions.
v2: Add generator instructions for the scratch opcodes.
    Add emit_before() for handling ->ir and ->annotation inheritance.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-08-31 11:30:33 -07:00
Eric Anholt
e45d0270c9 i965/vs: Move logic for weird CMP type handling to CMP generators.
v2: Don't bother with the no-dst-reg version of CMP()

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-08-31 11:16:10 -07:00