Christoph Bumiller [Mon, 18 Jan 2010 18:52:34 +0000 (19:52 +0100)]
nv50: make instanced drawing work with edge flags
And fix some obvious mistakes introduced in the
previous instancing commit.
Christoph Bumiller [Mon, 18 Jan 2010 15:22:59 +0000 (16:22 +0100)]
nv50: cannot exit shaders on a control flow instruction
Fixes lockup triggered by this ingenious shader:
1: CALL :3
2: END
3: BGNSUB ...
Marcin Slusarz [Mon, 18 Jan 2010 15:12:38 +0000 (16:12 +0100)]
nv50: fix nv50_program->immd memory leak
Michal Krol [Mon, 18 Jan 2010 18:07:44 +0000 (19:07 +0100)]
tgsi: Fix behaviour of dimension index.
The dimension index always addresses the second-dimension axis.
Michal Krol [Mon, 18 Jan 2010 13:01:40 +0000 (14:01 +0100)]
tgsi: Allow TEMPORARY registers as indirect address into source operands.
Michal Krol [Mon, 18 Jan 2010 11:11:05 +0000 (12:11 +0100)]
tgsi: Add ureg_DECL_immediate_block_uint().
Allows declaring a contiguous block of immediates. Useful for
relative indexing.
Brian Paul [Mon, 18 Jan 2010 18:06:55 +0000 (11:06 -0700)]
glsl: remove __inline directive
It makes no difference with gcc -O3, for example.
Brian Paul [Mon, 18 Jan 2010 17:43:33 +0000 (10:43 -0700)]
st/mesa: updated comments and whitespace
Marcin Slusarz [Sun, 17 Jan 2010 22:47:53 +0000 (14:47 -0800)]
st/mesa: fix memory leak in st_translate_mesa_program
Signed-off-by: Brian Paul <brianp@vmware.com>
Alex Deucher [Mon, 18 Jan 2010 16:21:19 +0000 (11:21 -0500)]
r600: fix some warnings
Jerome Glisse [Mon, 18 Jan 2010 14:32:24 +0000 (15:32 +0100)]
r600: Update default state size to account for the new relocation
the new relocation for CB_COLOR0_FRAG & CB_COLOR0_TILE add 4
dwords to the default command stream. Increase the prediction
default size to take this into account
Jerome Glisse [Mon, 18 Jan 2010 10:05:50 +0000 (11:05 +0100)]
r6xx/r7xx: emit relocation for FRAG & TILE buffer
FRAG & TILE buffer are unused but still they need
to be associated with a valid relocation so that
userspace can't try to abuse them to overwritte
GART and then try to write anywhere in system
memory.
Andre Maasikas [Mon, 18 Jan 2010 10:42:10 +0000 (12:42 +0200)]
r600: fix shadow_ambient shader
rtype enums are different, DST_REG_OUTPUT got SRC_REG_CONSTANT in some
shaders and produced invalid output/hang
as TEX output is temp register always set out src to SRC_REG_TEMPORARY
Corbin Simpson [Mon, 18 Jan 2010 10:30:49 +0000 (02:30 -0800)]
radeong: Don't allocate HW BOs for constantbufs.
We have broken 1000 FPS. Hell yes.
Heavily inspired by Marek's patch, but using pipebuffer instead of
a roll-your-own malloc.
Marek Olšák [Sun, 17 Jan 2010 18:21:03 +0000 (19:21 +0100)]
r300g: fix polygon offset
As per classic r300.
Not sure why glean/polygonOffset still fails, but we do emit the same register
values as in classic.
Marek Olšák [Sun, 17 Jan 2010 13:54:35 +0000 (14:54 +0100)]
r300g: fix vertex data swizzle
Marek Olšák [Sat, 16 Jan 2010 00:45:10 +0000 (01:45 +0100)]
r300g: do not align compressed textures to a tile size
Chia-I Wu [Mon, 18 Jan 2010 09:12:50 +0000 (17:12 +0800)]
st/egl_g3d: Clean up for x11_drawable_get_depth.
Fix a wrong comment and remove an unnecessary #include.
Corbin Simpson [Mon, 18 Jan 2010 08:37:21 +0000 (00:37 -0800)]
dri: Add an MSAA-enabled factor to DRI configs.
4 samples should be enough for GLUT to be satisfied, and I think most
of the HW that does any MSAA, can do it.
Note that any pipe that doesn't multisample can just ignore the
corresponding flag in pipe_rasterizer_state.
Corbin Simpson [Mon, 18 Jan 2010 08:36:04 +0000 (00:36 -0800)]
dri: Properly calculate number of modes for MSAA.
Split from the next patch for bisection purposes only.
Corbin Simpson [Mon, 18 Jan 2010 08:35:11 +0000 (00:35 -0800)]
radeong: Check DRM version, and report stats.
Corbin Simpson [Sun, 17 Jan 2010 23:57:26 +0000 (15:57 -0800)]
radeong: Use vram_size instead of vram_visible.
The kernel will decide on its own what to give us.
Chia-I Wu [Mon, 18 Jan 2010 08:30:07 +0000 (16:30 +0800)]
progs/egl: Pass EGLDisplay to eglCopyBuffers.
X Display was wrongly passed to eglCopyBuffers.
Chia-I Wu [Mon, 18 Jan 2010 07:28:13 +0000 (15:28 +0800)]
st/egl_g3d: Add support for eglCopyBuffers.
It uses a slow path to copy the render buffer of the surface to the
target pixmap. We might be able to create a pipe context for
EGLDisplay's use and use a blitter context for the purpose. It is left
for a future consideration.
Chia-I Wu [Mon, 18 Jan 2010 07:49:20 +0000 (15:49 +0800)]
st/egl_g3d: Add is_pixmap_supported to native display interface.
The function may be used to support, for example,
EGL_MATCH_NATIVE_PIXMAP and EGL_KHR_image_pixmap.
Chia-I Wu [Mon, 18 Jan 2010 04:11:15 +0000 (12:11 +0800)]
st/egl_g3d: Update validate to use an attachment mask.
A validate call asks for the buffers of a native surface. Using a mask
to represent the interested buffers is more intuitive. It also rules
out corner cases such as a single attachment being listed multiple
times.
Chia-I Wu [Mon, 18 Jan 2010 04:05:25 +0000 (12:05 +0800)]
st/vega: Fix window resizing with egl_g3d.
egl_g3d calls st_set_framebuffer_surface on window resize. It updates
the renderbuffer's geometry and makes st_resize_framebuffer a no-op.
This commit improves the no-op check a little bit. It can do better
after gallium-fb-dimensions is merged.
Chia-I Wu [Fri, 15 Jan 2010 09:52:10 +0000 (17:52 +0800)]
st/vega: Call screen->update_buffer instead of winsys->update_buffer.
This removes the last reference to winsys and is per mesa/st.
Chia-I Wu [Fri, 15 Jan 2010 09:59:16 +0000 (17:59 +0800)]
tgsi: Add missing semantic name in text parser.
This time, INSTANCEID is missing...
Jakob Bornecrantz [Mon, 18 Jan 2010 00:07:24 +0000 (00:07 +0000)]
cso: Add set_vertex_samplers function
Jakob Bornecrantz [Mon, 18 Jan 2010 00:04:48 +0000 (00:04 +0000)]
softpipe: Fix leak in vbuf draw module
Christoph Bumiller [Sun, 17 Jan 2010 16:37:55 +0000 (17:37 +0100)]
nv50: implement instanced drawing
Too bad we don't have hw array divisors or a method for
setting startInstance.
Jakob Bornecrantz [Sun, 17 Jan 2010 14:18:26 +0000 (14:18 +0000)]
softpipe: Move st/python's malloc winsys to softpipe
Users of softpipe can still specify thier own winsys
but now there is a default one also that uses malloc.
This allows the malloc winsys to be shared with other
users of softpipe.
Jakob Bornecrantz [Sun, 17 Jan 2010 16:24:53 +0000 (16:24 +0000)]
st/xlib: Make glXGetProcAddressARB visible
Jakob Bornecrantz [Sun, 17 Jan 2010 14:40:49 +0000 (14:40 +0000)]
gallium: Support swig "compiler" in p_compiler.h
Jakob Bornecrantz [Sun, 17 Jan 2010 12:21:56 +0000 (12:21 +0000)]
i965g: Link against drm_intel instead of drm_radeon
Corbin Simpson [Sun, 17 Jan 2010 09:13:45 +0000 (01:13 -0800)]
r300g: Check for bogus texture targets.
Marek Olšák [Sun, 17 Jan 2010 03:49:07 +0000 (04:49 +0100)]
r300g: fix the rasterization of secondary color
When the secondary color is used, the primary color must always be rasterized
regardless of whether it is used or not.
Marek Olšák [Sun, 17 Jan 2010 03:41:51 +0000 (04:41 +0100)]
r300g: fix vertex colors with 8 bits per channel
The piglit BGRA tests pass now.
Marek Olšák [Sun, 17 Jan 2010 01:25:50 +0000 (02:25 +0100)]
r300g: simplify is_format_supported
Marek Olšák [Sat, 9 Jan 2010 18:19:44 +0000 (19:19 +0100)]
r300g: output texture debug messages if only RADEON_DEBUG=tex is set
Marek Olšák [Sat, 9 Jan 2010 17:38:54 +0000 (18:38 +0100)]
r300g: move debug flags into r300_screen
Marek Olšák [Fri, 15 Jan 2010 23:48:53 +0000 (00:48 +0100)]
r300g: disable the MIP filter for NPOT textures
Safety first.
Marek Olšák [Fri, 15 Jan 2010 23:56:33 +0000 (00:56 +0100)]
r300g: fix the CS size when emitting invariant state
Alan Coopersmith [Sun, 17 Jan 2010 08:55:39 +0000 (00:55 -0800)]
radeon_compiler: include main/compiler.h for compiler portability macros
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Corbin Simpson [Sun, 17 Jan 2010 02:16:26 +0000 (18:16 -0800)]
r300g: Stop using indices.
Sorry, it was a good game, but it just doesn't work.
Corbin Simpson [Sun, 17 Jan 2010 01:45:34 +0000 (17:45 -0800)]
r300g: Respect fill modes in indices fallback.
Keith Whitwell [Sat, 16 Jan 2010 21:11:01 +0000 (21:11 +0000)]
util: add generic ringbuffer utitilty
Chia-I Wu [Sat, 16 Jan 2010 17:16:11 +0000 (18:16 +0100)]
gallium: Fix uninitialized instance divisor and index.
Christoph Bumiller [Sat, 16 Jan 2010 16:58:35 +0000 (17:58 +0100)]
nv50: fix tile flags for scanout tex usage
Christoph Bumiller [Sat, 16 Jan 2010 14:39:32 +0000 (15:39 +0100)]
nv50: handle all and more system values
Christoph Bumiller [Sat, 16 Jan 2010 12:25:55 +0000 (13:25 +0100)]
nv50: hook up geometry programs
Christoph Bumiller [Sat, 16 Jan 2010 10:36:03 +0000 (11:36 +0100)]
nv50: support for geometry programs in nv50_program
Christoph Bumiller [Sat, 16 Jan 2010 15:57:34 +0000 (16:57 +0100)]
nv50: get access to primitive input space
Vertex data in geometry programs is located in p[] space.
The base address in p[] for vertex i is located in vertex
attribute space, i.e. a[i << 2].
This means p[] is always accessed with an address register,
and I had to to mess with their allocation once again.
Also fixes negative offsets e.g. CONST[ADDR[0].x - 3].
Alex Deucher [Sat, 16 Jan 2010 13:45:08 +0000 (08:45 -0500)]
r600: remove stray END_BATCH in blit code
Jakob Bornecrantz [Sat, 16 Jan 2010 09:30:28 +0000 (09:30 +0000)]
draw: Fix memory leak in gs code
Dave Airlie [Sat, 16 Jan 2010 09:28:45 +0000 (19:28 +1000)]
i965g: make xorg state tracker build i965g_drv.so
don't make modesetting_drv.so anymore
Alex Deucher [Sat, 16 Jan 2010 03:56:55 +0000 (22:56 -0500)]
r600: improve blit support
- fill in more src/dst formats
- disable depth copies for now
- set proper data formats in render target regs
- fill in additional default state
The swizzles on some of the less used mesa formats
are probably wrong.
Andre Maasikas [Sat, 16 Jan 2010 02:23:31 +0000 (21:23 -0500)]
r600: add initial blit support
Alex Deucher [Fri, 15 Jan 2010 21:41:27 +0000 (16:41 -0500)]
r600: add r600_blit.c
Unfinished.
Patrice Mandin [Fri, 15 Jan 2010 21:29:13 +0000 (22:29 +0100)]
nouveau: nv30: Remove useless variables fs, txp. Also do not change txf, as bit 13 is in the texture format
Signed-off-by: Patrice Mandin <patmandin@gmail.com>
Michal Krol [Fri, 15 Jan 2010 16:43:04 +0000 (17:43 +0100)]
util: Handle FORMAT_Z32_FLOAT in util_pack_z().
Michal Krol [Fri, 15 Jan 2010 16:42:38 +0000 (17:42 +0100)]
util: Handle the remaining formats in pipe_put_tile_rgba().
Michal Krol [Fri, 15 Jan 2010 16:42:07 +0000 (17:42 +0100)]
util: Fix encoding for R8G8B8A8_UNORM formats and friends.
Michal Krol [Fri, 15 Jan 2010 13:05:04 +0000 (14:05 +0100)]
tgsi: Add ureg_property_gs_input_prim().
Michal Krol [Fri, 15 Jan 2010 12:32:55 +0000 (13:32 +0100)]
tgsi: Add ureg_src_dimension().
Michal Krol [Mon, 11 Jan 2010 19:53:28 +0000 (20:53 +0100)]
regress: Add .gitgnore for *.png files.
Michal Krol [Fri, 15 Jan 2010 11:20:39 +0000 (12:20 +0100)]
draw: Add missing header include.
Roland Scheidegger [Fri, 15 Jan 2010 17:25:14 +0000 (18:25 +0100)]
gallium: document set_constant_buffer
Roland Scheidegger [Fri, 15 Jan 2010 17:09:45 +0000 (18:09 +0100)]
Merge branch 'gallium-noconstbuf'
Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
src/mesa/state_tracker/st_draw_feedback.c
Roland Scheidegger [Fri, 15 Jan 2010 16:55:42 +0000 (17:55 +0100)]
gallium: remove set_edgeflags from docs
Brian Paul [Fri, 15 Jan 2010 16:02:52 +0000 (09:02 -0700)]
configs: remove -ansi from linux-debug
-ansi implies -std=c89 but that conflicts with the -std=c99 flag
which is also provided.
Allows the r300g driver to compile.
Michal Krol [Fri, 15 Jan 2010 10:40:03 +0000 (11:40 +0100)]
tgsi: Fix sanity checks for indirect registers.
Chia-I Wu [Fri, 15 Jan 2010 10:10:54 +0000 (18:10 +0800)]
st/egl_g3d: Avoid validation upon buffer swap or flush frontbuffer.
With screen->update_buffer being hooked, leave the job to the state
trackers.
Chia-I Wu [Fri, 15 Jan 2010 09:45:52 +0000 (17:45 +0800)]
st/egl_g3d: Hook to update_buffer of the pipe screen.
It is a notification from the client APIs that the surface size might
have changed.
Chia-I Wu [Fri, 15 Jan 2010 09:39:49 +0000 (17:39 +0800)]
st/egl_g3d: Always override flush_frontbuffer.
Instead of letting the native displays install their own version of
flush_frontbuffer, always override the callback with a version that
calls the flush_frontbuffer of the native surface.
Michal Krol [Fri, 15 Jan 2010 06:52:18 +0000 (07:52 +0100)]
st/mesa: Initialise vertex element instance divisor to 0.
Luca Barbieri [Fri, 15 Jan 2010 06:28:18 +0000 (07:28 +0100)]
draw: Add GALLIUM_DUMP_VS environment variable.
Add GALLIUM_DUMP_VS to dump the vertex shader to the console like
GALLIUM_DUMP_FS in softpipe.
Jakob Bornecrantz [Thu, 14 Jan 2010 22:51:25 +0000 (22:51 +0000)]
r300g: Build driver by default
Do the auto trick that is used for both i915, i965 and svga.
Jakob Bornecrantz [Thu, 14 Jan 2010 22:31:04 +0000 (22:31 +0000)]
Merge branch 'mesa_7_7_branch'
Conflicts:
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/auxiliary/util/Makefile
src/gallium/drivers/r300/r300_state_derived.c
Michal Krol [Thu, 14 Jan 2010 17:55:52 +0000 (18:55 +0100)]
gallium: Document drawing commands.
Michal Krol [Thu, 14 Jan 2010 17:11:41 +0000 (18:11 +0100)]
Merge branch 'instanced-arrays'
Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
Corbin Simpson [Thu, 14 Jan 2010 16:25:46 +0000 (08:25 -0800)]
r300g: Cleanup from last few commits.
Strangely enough, the code solidified pretty quickly.
Łukasz Krotowski [Thu, 14 Jan 2010 09:05:02 +0000 (10:05 +0100)]
r300g: Really destroy translated buffer at the end.
Note that indexSize is changed by r300_translate_elts(). Also make sure
it's destroyed on errors.
Brian Paul [Thu, 14 Jan 2010 16:38:47 +0000 (09:38 -0700)]
progs/trivial: test user clip plane in tri-point-line-clipped.c
Brian Paul [Thu, 14 Jan 2010 16:21:18 +0000 (09:21 -0700)]
progs/trivial: test glPolygonMode(POINT/LINE) with frustum clipping
Note whether the new verts introduced by clipping show up as points
and lines along the edge of the window...
Brian Paul [Thu, 14 Jan 2010 01:24:15 +0000 (18:24 -0700)]
gallium/util: silence warning about array initializers
Chia-I Wu [Thu, 14 Jan 2010 09:29:12 +0000 (17:29 +0800)]
egl_g3d: Check if the creation of pipe or st context fails.
It should not return an incomplete EGLContext to the users.
Chia-I Wu [Tue, 12 Jan 2010 10:08:02 +0000 (18:08 +0800)]
st/egl_g3d: Use a sequence number to decide if validation is required.
It is not safe to assume that the native surface has not changed since
the last validation by checking the geometry alone. Add a sequence
number to "validate" callback for that purpose. This is inspired by
Luca Barbieri's work.
Vinson Lee [Thu, 14 Jan 2010 07:28:00 +0000 (23:28 -0800)]
st/mesa: Remove unnecessary header from st_program.c.
Vinson Lee [Thu, 14 Jan 2010 07:16:05 +0000 (23:16 -0800)]
st/mesa: Remove unnecessary header from st_texture.c.
Vinson Lee [Thu, 14 Jan 2010 07:01:03 +0000 (23:01 -0800)]
swrast: Remove unnecessary header from s_accum.c.
Vinson Lee [Thu, 14 Jan 2010 06:58:07 +0000 (22:58 -0800)]
swrast: Remove unnecessary header from s_atifragshader.c.
Vinson Lee [Thu, 14 Jan 2010 06:45:54 +0000 (22:45 -0800)]
swrast: Remove unnecessary header from s_bitmap.c.
Vinson Lee [Thu, 14 Jan 2010 06:43:16 +0000 (22:43 -0800)]
swrast: Remove unnecessary headers from s_copypix.c.
Vinson Lee [Thu, 14 Jan 2010 06:36:01 +0000 (22:36 -0800)]
swrast: Remove unnecessary header from s_depth.c.
Vinson Lee [Thu, 14 Jan 2010 06:30:04 +0000 (22:30 -0800)]
swrast: Remove unnecessary header from s_drawpix.c.
Vinson Lee [Thu, 14 Jan 2010 06:20:44 +0000 (22:20 -0800)]
swrast: Remove unnecessary header from s_feedback.c.
Corbin Simpson [Thu, 14 Jan 2010 04:46:53 +0000 (20:46 -0800)]
gallium/docs: Random things sitting around in my stash.
Corbin Simpson [Thu, 14 Jan 2010 04:44:49 +0000 (20:44 -0800)]
r300g: Use indices to translate index buffers of ubytes.
progs/redbook/aapoly, among others, works fine now.