Commit graph

11550 commits

Author SHA1 Message Date
Michal Krol
5d28d2f9d4 graw/gdi: Fix window dimensions.
The requested window size is of the client area,
so account for surrounding borders and bars when
creating the window.
2010-11-04 15:12:47 +01:00
Michal Krol
c69979f243 scons: Hook-up graw-gdi target. 2010-11-04 14:34:27 +01:00
Michal Krol
29beaed6dc graw/gdi: Initial commit. 2010-11-04 14:34:27 +01:00
Guillermo S. Romero
560ad7e599 r300g: Do not use buf param before checking for NULL.
Commit 8dfafbf086 forgot to update r300g.
There is a buf == NULL check, but buf is used before for var init.

Tested-by: Guillermo S. Romero <gsromero@infernal-iceberg.com>
2010-11-04 13:26:24 +00:00
Michal Krol
420400f67f tgsi/build: Reduce interface clutter.
Make private those functions that are used internally only.
2010-11-04 12:20:14 +01:00
Michal Krol
f93d6f929f tgsi/exec: Get rid of obsolete condition codes. 2010-11-04 11:51:10 +01:00
Michal Krol
ee9366ab36 tgsi/exec: Cleanup the remaining arithmetic instructions.
As a result remove some nasty macros.
2010-11-04 11:37:24 +01:00
Brian Paul
3ded3e98ff gallivm: add some LLVM var labels 2010-11-03 17:34:07 -06:00
Brian Paul
2fefbc79ac gallivm: implement scatter stores into temp register file
Something is not quite right, however.  The piglit tests mentioned in
fd.o bug 31226 still don't pass.
2010-11-03 17:34:07 -06:00
José Fonseca
01b39b053b r600g: Swap the util_blitter_destroy call order.
Trivial change that avoids a segmentation fault when the blitter state
happens to be bound when the context is destroyed.

The free calls should probably removed altogether in the future -- the
responsibility to destroy the state atoms lies with whoever created it,
and the safest thing for the pipe driver is to not touch any bound state
in its destructor.
2010-11-03 20:25:13 +00:00
José Fonseca
54f2116877 xorg/vmwgfx: Link libkms when available. 2010-11-03 15:41:06 +00:00
José Fonseca
d49dfe66cf st/xorg: Detect libkms with scons too. 2010-11-03 15:21:51 +00:00
José Fonseca
12376d8ea3 st/xorg: Add missing \n to error message. 2010-11-03 15:14:29 +00:00
José Fonseca
ab2305b586 xorg/vmwgfx: Add missing source file to SConscript. 2010-11-03 14:02:40 +00:00
Brian Paul
b19b858060 egl/gdi: fix typo: xsurf->gsurf 2010-11-03 07:04:42 -06:00
Keith Whitwell
32bb65217e evergreeng: set hardware pixelcenters according to gl_rasterization_rules 2010-11-03 11:16:04 +00:00
Keith Whitwell
d6b6a0bc17 evergreeng: respect linewidth state, use integer widths only
Discard fractional bits from linewidth.  This matches the nvidia
closed drivers, my reading of the OpenGL SI and current llvmpipe
behaviour.

It looks a lot nicer & avoids ugliness where lines alternate between n
and n+1 pixels in width along their length.

Also fix up r600g to match.
2010-11-03 10:55:22 +00:00
Keith Whitwell
ee07e0e39a r600g: don't call debug_get_bool_option for tiling more than once 2010-11-03 10:55:22 +00:00
Keith Whitwell
b3462601cb evergreeng: protect against null constant buffers
Should do better than this and actually unbind the buffer, but haven't
yet gotten it to work.
2010-11-03 10:55:22 +00:00
Chia-I Wu
3f7876d76f st/egl: Use native_display_buffer for EGL_MESA_drm_image.
native_display_buffer is just a wrapper to resource_{from,get}_handle
for drm backend.
2010-11-03 17:50:25 +08:00
Chia-I Wu
af977b5382 st/egl: Add native_display_buffer interface.
The interface is a wrapper to pipe_screen::resource_from_handle and
pipe_screen::resource_get_handle.  A winsys handle is
platform-dependent.
2010-11-03 17:47:08 +08:00
Chia-I Wu
a5f4338fc4 st/egl: Add extern "C" wrapper to native.h.
This allows a backend to be written in C++.
2010-11-03 17:47:08 +08:00
Keith Whitwell
c3974dc837 r600g: set hardware pixel centers according to gl_rasterization_rules
These were previously being left in the default (D3D) mode.  This mean
that triangles were drawn slightly incorrectly, but also because this
state is relied on by the u_blitter code, all blits were half a pixel
off.
2010-11-03 09:36:01 +00:00
Keith Whitwell
7b120ceac8 r600g: remove unused flink, domain fields from r600_resource
These were being set but not used anywhere.
2010-11-03 09:36:01 +00:00
Keith Whitwell
d4fab99c1c r600g: use a buffer in GTT as intermediate on texture up and downloads
Generalize the existing tiled_buffer path in texture transfers for use
in some non-tiled up and downloads.

Use a staging buffer, which the winsys will restrict to GTT memory.

GTT buffers have the major advantage when they are mapped, they are
cachable, which is a very nice property for downloads, usually the CPU
will want to do look at the data it downloaded.
2010-11-03 09:36:01 +00:00
Keith Whitwell
29c4a15bf6 r600g: propogate resource usage flags to winsys, use to choose bo domains
This opens the question of what interface the winsys layer should
really have for talking about these concepts.

For now I'm using the existing gallium resource usage concept, but
there is no reason not use terms closer to what the hardware
understands - eg. the domains themselves.
2010-11-03 09:36:01 +00:00
Keith Whitwell
14c0bbf469 r600g: propagate usage flags in texture transfers 2010-11-03 09:36:01 +00:00
Chia-I Wu
04ae53ca8a st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.
Added for completeness.  It makes sense to have such mechanism, but I am
not aware of any user of that..
2010-11-03 17:17:29 +08:00
Chia-I Wu
b8cb14209a st/egl: Add support for swap interval and swap behavior.
The value of EGL_MAX_SWAP_INTERVAL and whether
EGL_SWAP_BEHAVIOR_PRESERVED_BIT is set will depend on the native
backend used.
2010-11-03 16:26:57 +08:00
Chia-I Wu
828d944fd6 st/egl: Remove flush_frontbuffer and swap_buffers.
They are deprecated by native_surface::present and there is no user of
them.
2010-11-03 16:08:47 +08:00
Chia-I Wu
250d81da25 d3d1x: Use native_surface::present.
Replace native_surface::flush_frontbuffer and
native_surface::swap_buffers calls by native_surface::present calls.
2010-11-03 16:08:44 +08:00
Chia-I Wu
0ae4b23c53 st/egl: Use native_surface::present callback.
Replace native_surface::flush_frontbuffer and
native_surface::swap_buffers calls by native_surface::present calls.
2010-11-03 16:08:23 +08:00
Chia-I Wu
94bf657b23 st/egl: Add native_surface::present callback.
The callback presents the given attachment to the native engine.  It
allows the swap behavior and interval to be controlled.  It will replace
native_surface::flush_frontbuffer and native_surface::swap_buffers
shortly.
2010-11-03 16:04:59 +08:00
Vinson Lee
93a7e6d94e st/vega: Remove unnecessary headers. 2010-11-02 17:13:44 -07:00
Tilman Sauerbeck
52ba68d0b0 r600g: Destroy the winsys in r600_destroy_screen().
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02 21:52:39 +01:00
Tilman Sauerbeck
907efeea18 r600g: Fixed two memory leaks in winsys.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02 21:52:39 +01:00
Tilman Sauerbeck
ecb1b8b98f r600g: Delete custom_dsa_flush on shutdown.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02 21:52:39 +01:00
Tilman Sauerbeck
c49dcaef65 r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02 21:52:39 +01:00
Tilman Sauerbeck
86778dadc5 r600g: Made radeon_bo::map_count signed.
That way assert(map_count >= 0) can actually fail when we screwed up.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02 21:52:39 +01:00
Tilman Sauerbeck
34e75b0ca8 r600g: Fixed unmap condition in radeon_bo_pb_destroy().
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02 21:52:38 +01:00
Tilman Sauerbeck
b675266f0e r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().
This ensures that we increase bo->map_count when radeon_bo_map_internal()
returns successfully, which in turn makes sure we don't decrement
bo->map_count below zero later.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02 21:52:38 +01:00
Tilman Sauerbeck
4e34393162 r600g: Removed unused 'ptr' argument from radeon_bo().
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02 21:52:38 +01:00
Jakob Bornecrantz
1318b0ef9e graw: Tidy graw xlib scons file a bit 2010-11-02 18:20:30 +00:00
Brian Paul
2996ce72b1 llvmpipe: add a cast 2010-11-02 11:53:14 -06:00
Brian Paul
9fbf744389 llvmpipe: assign context's frag shader pointer before using it
The call to draw_bind_fragment_shader() was using the old fragment
shader.  This bug would have really only effected the draw module's
use of the fragment shader in the wide point stage.
2010-11-02 11:50:37 -06:00
Keith Whitwell
8dfafbf086 st/mesa: unbind constant buffer when not in use
Important as more constant buffers per shader start to get used.

Fix up r600 (tested) and nv50 (untested) to cope with this.  Drivers
previously didn't see unbinds of constant buffers often or ever, so
this isn't always dealt with cleanly.

For r600 just return and keep the reference.  Will try to do better in
a followup change.
2010-11-02 16:57:24 +00:00
Keith Whitwell
debcb43489 llvmpipe: guard against NULL task->query pointer
This doesn't seem like it should be possible, but some test suites
manage to hit this case.  Avoid crashing release builds under those
circumstances.
2010-11-02 16:48:10 +00:00
Keith Whitwell
98445b4307 llvmpipe: avoid generating tri_16 for tris which extend past tile bounds
Don't trim triangle bounding box to scissor/draw-region until after
the logic for emitting tri_16.  Don't generate tri_16 commands for
triangles with untrimmed bounding boxes outside the current tile.

This is important as the tri-16 itself can extend past tile bounds and
we don't want to add code to it to check against tile bounds (slow) or
restrict it to locations within a tile (pessimistic).
2010-11-02 16:48:10 +00:00
José Fonseca
45f4b85d58 scons: i915 can't build on MSVC either.
I thought I had singled it out before, but apparently not.
2010-11-02 13:49:35 +00:00
José Fonseca
3ae04dd910 scons: Add aliases for several pipe drivers. 2010-11-02 12:35:52 +00:00