Commit graph

54 commits

Author SHA1 Message Date
Vinson Lee
5cf693266f scons: Fix SCons build infrastructure for FreeBSD.
This patch gets the FreeBSD SCons build working again. The build still
fails though.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
2012-05-24 18:49:40 -07:00
Vinson Lee
e4fb332af1 scons: Do not build glx and egl on Cygwin.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-05-22 10:15:14 -07:00
Vinson Lee
5cc4b4aaf4 scons: Do not build EGL on Solaris.
The current EGL headers do not support Solaris.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
2012-05-03 22:58:35 -07:00
José Fonseca
4c23acb269 scons: Fix build without llvm.
radeonsi depends on llvm, so it must be disabled if llvm support is not enabled.
2012-04-30 07:47:01 +01:00
Tom Stellard
a75c6163e6 radeonsi: initial WIP SI code
This commit adds initial support for acceleration
on SI chips.  egltri is starting to work.

The SI/R600 llvm backend is currently included in mesa
but that may change in the future.

The plan is to write a single gallium driver and
use gallium to support X acceleration.

This commit contains patches from:
Tom Stellard <thomas.stellard@amd.com>
Michel Dänzer <michel.daenzer@amd.com>
Alex Deucher <alexander.deucher@amd.com>
Vadim Girlin <vadimgirlin@gmail.com>

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

The following commits were squashed in:

======================================================================

radeonsi: Remove unused winsys pointer

This was removed from r600g in commit:

commit 96d882939d
Author: Marek Olšák <maraeo@gmail.com>
Date:   Fri Feb 17 01:49:49 2012 +0100

    gallium: remove unused winsys pointers in pipe_screen and pipe_context

    A winsys is already a private object of a driver.

======================================================================

radeonsi: Copy color clamping CAPs from r600

Not sure if the values of these CAPS are correct for radeonsi, but the
same changed were made to r600g in commit:

commit bc1c836938
Author: Marek Olšák <maraeo@gmail.com>
Date:   Mon Jan 23 03:11:17 2012 +0100

    st/mesa: do vertex and fragment color clamping in shaders

    For ARB_color_buffer_float. Most hardware can't do it and st/mesa is
    the perfect place for a fallback.
    The exceptions are:
    - r500 (vertex clamp only)
    - nv50 (both)
    - nvc0 (both)
    - softpipe (both)

    We also have to take into account that r300 can do CLAMPED vertex colors only,
    while r600 can do UNCLAMPED vertex colors only. The difference can be expressed
    with the two new CAPs.

======================================================================

radeonsi: Remove PIPE_CAP_OUTPUT_READ

This CAP was dropped in commit:

commit 04e3240087
Author: Marek Olšák <maraeo@gmail.com>
Date:   Thu Feb 23 23:44:36 2012 +0100

    gallium: remove PIPE_SHADER_CAP_OUTPUT_READ

    r600g is the only driver which has made use of it. The reason the CAP was
    added was to fix some piglit tests when the GLSL pass lower_output_reads
    didn't exist.

    However, not removing output reads breaks the fallback for glClampColorARB,
    which assumes outputs are not readable. The fix would be non-trivial
    and my personal preference is to remove the CAP, considering that reading
    outputs is uncommon and that we can now use lower_output_reads to fix
    the issue that the CAP was supposed to workaround in the first place.

======================================================================

radeonsi: Add missing parameters to rws->buffer_get_tiling() call

This was changed in commit:

commit c0c979eebc
Author: Jerome Glisse <jglisse@redhat.com>
Date:   Mon Jan 30 17:22:13 2012 -0500

    r600g: add support for common surface allocator for tiling v13

    Tiled surface have all kind of alignment constraint that needs to
    be met. Instead of having all this code duplicated btw ddx and
    mesa use common code in libdrm_radeon this also ensure that both
    ddx and mesa compute those alignment in the same way.

    v2 fix evergreen
    v3 fix compressed texture and workaround cube texture issue by
       disabling 2D array mode for cubemap (need to check if r7xx and
       newer are also affected by the issue)
    v4 fix texture array
    v5 fix evergreen and newer, split surface values computation from
       mipmap tree generation so that we can get them directly from the
       ddx
    v6 final fix to evergreen tile split value
    v7 fix mipmap offset to avoid to use random value, use color view
       depth view to address different layer as hardware is doing some
       magic rotation depending on the layer
    v8 fix COLOR_VIEW on r6xx for linear array mode, use COLOR_VIEW on
       evergreen, align bytes per pixel to a multiple of a dword
    v9 fix handling of stencil on evergreen, half fix for compressed
       texture
    v10 fix evergreen compressed texture proper support for stencil
        tile split. Fix stencil issue when array mode was clear by
        the kernel, always program stencil bo. On evergreen depth
        buffer bo need to be big enough to hold depth buffer + stencil
        buffer as even with stencil disabled things get written there.
    v11 rebase on top of mesa, fix pitch issue with 1d surface on evergreen,
        old ddx overestimate those. Fix linear case when pitch*height < 64.
        Fix r300g.
    v12 Fix linear case when pitch*height < 64 for old path, adapt to
        libdrm API change
    v13 add libdrm check

    Signed-off-by: Jerome Glisse <jglisse@redhat.com>

======================================================================

radeonsi: Remove PIPE_TRANSFER_MAP_PERMANENTLY

This was removed in commit:

commit 62f44f670b
Author: Marek Olšák <maraeo@gmail.com>
Date:   Mon Mar 5 13:45:00 2012 +0100

    Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"

    This reverts commit 0950086376.

    It was decided to refactor the transfer API instead of adding workarounds
    to address the performance issues.

======================================================================

radeonsi: Handle PIPE_VIDEO_CAP_PREFERED_FORMAT.

Reintroduced in commit 9d9afcb5ba.

======================================================================

radeonsi: nuke the fallback for vertex and fragment color clamping

Ported from r600g commit c2b800cf38.

======================================================================

radeonsi: don't expose transform_feedback2 without kernel support

Ported from r600g commit 15146fd1bc.

======================================================================

radeonsi: Handle PIPE_CAP_GLSL_FEATURE_LEVEL.

Ported from r600g part of commit 171be75522.

======================================================================

radeonsi: set minimum point size to 1.0 for non-sprite non-aa points.

Ported from r600g commit f183cc9ce3.

======================================================================

radeonsi: rework and consolidate stencilref state setting.

Ported from r600g commit a2361946e7.

======================================================================

radeonsi: cleanup setting DB_SHADER_CONTROL.

Ported from r600g commit 3d061caaed.

======================================================================

radeonsi: Get rid of register masks.

Ported from r600g commits
3d061caaed13b646ff40754f8ebe73f3d4983c5b..9344ab382a1765c1a7c2560e771485edf4954fe2.

======================================================================

radeonsi: get rid of r600_context_reg.

Ported from r600g commits
9344ab382a1765c1a7c2560e771485edf4954fe2..bed20f02a771f43e1c5092254705701c228cfa7f.

======================================================================

radeonsi: Fix regression from 'Get rid of register masks'.

======================================================================

radeonsi: optimize r600_resource_va.

Ported from r600g commit 669d8766ff.

======================================================================

radeonsi: remove u8,u16,u32,u64 types.

Ported from r600g commit 78293b99b2.

======================================================================

radeonsi: merge r600_context with r600_pipe_context.

Ported from r600g commit e4340c1908.

======================================================================

radeonsi: Miscellaneous context cleanups.

Ported from r600g commits
e4340c1908a6a3b09e1a15d5195f6da7d00494d0..621e0db71c5ddcb379171064a4f720c9cf01e888.

======================================================================

radeonsi: add a new simple API for state emission.

Ported from r600g commits
621e0db71c5ddcb379171064a4f720c9cf01e888..f661405637bba32c2cfbeecf6e2e56e414e9521e.

======================================================================

radeonsi: Also remove sbu_flags member of struct r600_reg.

Requires using sid.h instead of r600d.h for the new CP_COHER_CNTL definitions,
so some code needs to be disabled for now.

======================================================================

radeonsi: Miscellaneous simplifications.

Ported from r600g commits 38bf276348 and
b0337b679a.

======================================================================

radeonsi: Handle PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION.

Ported from commit 8b4f7b0672.

======================================================================

radeonsi: Use a fake reloc to sleep for fences.

Ported from r600g commit 8cd03b933c.

======================================================================

radeonsi: adapt to get_query_result interface change.

Ported from r600g commit 4445e170be.
2012-04-13 10:32:06 -04:00
José Fonseca
f763ad5130 scons: r300/r600 now depends on libdrm.
As they now indirectly include on libdrm/radeon_surface.h.
2012-02-07 11:40:58 +00:00
Alexander von Gluck
bca6cd2d71 scons: Remove Haiku one-offs for gallium drivers
NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Brian Paul <brianp@vmware.com>
2012-01-24 11:00:40 -07:00
Alexander von Gluck IV
64ae209d50 scons: Add Haiku build support
Enables building stock Mesa under the Haiku operating system.
2012-01-17 20:01:14 +00:00
Kai Wasserbäch
0a22fb6a5d gallium/failover: Remove the deprecated module.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2011-11-30 17:26:40 +00:00
Kai Wasserbäch
2c27f204f1 i965g: Delete this driver.
Never completed, and no plans to do so.

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2011-11-29 15:44:09 +00:00
Thomas Hellstrom
d742a64909 xorg/vmwgfx: Kill this target. It's not used anymore.
This fixes a build error introduced with commit
"winsys/svga: Update to vmwgfx kernel module 2.1"
if both the svga driver and the xorg state tracker was enabled
at the same time.

If needed we can re-add a minimal target for basic functionality.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-09-30 09:30:59 +02:00
José Fonseca
f8aeb1c990 scons: MacOSX build fixes. 2011-09-20 20:41:57 +01:00
José Fonseca
4175010749 scons: make embedding orthogonal to the platform
To enable embedding in platforms other than linux.
2011-06-17 14:50:37 +01:00
José Fonseca
afeaf1771d st/python: Remove bindings, and all its dependencies.
Because:
- bindings are not fully automatic, and they are broken most of the time
- unit tests/samples can be written in C on top of graw
- tracing/retracing is more useful at API levels with stable ABIs such as
  GL, producing traces that cover more layers of the driver stack and and
  can be used for regression testing
2011-04-06 08:26:04 +01:00
Vinson Lee
e24f1ea594 scons: Add nvc0 to SConscript. 2011-01-24 17:48:24 -08:00
Chia-I Wu
a8b6b6555c scons: Updates for targets/egl-static.
Update SConscripts to re-enable or add support for EGL on windows and
x11 platforms respectively.  targets/egl-gdi is replaced by
targets/egl-static, where "-static" means pipe drivers and state
trackers are linked to statically by egl_gallium, and egl_gallium is a
built-in driver of libEGL.  There is no more egl_gallium.dll on Windows.
2011-01-12 17:40:01 +08:00
Zack Rusin
9d9df964c4 scons: build the xorg state trackers only when env includes drm 2010-11-09 10:41:59 +00:00
Jakob Bornecrantz
7e9f5eab4e scons: Move dependancy checks to the main gallium scons file 2010-11-05 20:58:49 +00:00
Jakob Bornecrantz
c0db7854d5 scons: Check for libdrm_[intel|radeon] as well
And run SConscripts if they are present.
Also make dri depend on both drm and x11.
2010-11-05 20:58:49 +00:00
Jakob Bornecrantz
b4ac0adb75 scons: Detabify
Drivers scons files for a later time
2010-11-05 20:58:49 +00:00
Michal Krol
c69979f243 scons: Hook-up graw-gdi target. 2010-11-04 14:34:27 +01: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
ab9ca6caa8 scons: Some pipe drivers are not portable for MSVC 2010-11-01 14:24:08 +00:00
José Fonseca
601498ae73 scons: Revamp how to specify targets to build.
Use scons target and dependency system instead of ad-hoc options.

Now is simply a matter of naming what to build. For example:

  scons libgl-xlib

  scons libgl-gdi

  scons graw-progs

  scons llvmpipe

and so on. And there is also the possibility of scepcified subdirs, e.g.

  scons src/gallium/drivers

If nothing is specified then everything will be build.

There might be some rough corners over the next days. Please bare with me.
2010-11-01 13:30:22 +00:00
Keith Whitwell
00fe54a879 graw: update graw_null after interface changes and build graw tests again 2010-06-07 16:43:49 +01:00
Chia-I Wu
e5b5d84e8a st/vega: Use SConscript for Windows build.
Fix several portability issues and add SConscript for Windows build.
2010-05-31 13:28:01 +08:00
Chia-I Wu
a8e195ec24 st/egl: Add GDI backend.
The backend uses Windows GDI driver to provide a software EGL
implementation on Windows.
2010-05-31 13:27:44 +08:00
Vinson Lee
da34757cd7 graw: Disable build of tests/graw.
The SCons build is failing in src/gallium/tests/graw.
2010-05-19 07:40:57 -07:00
José Fonseca
d99a7497ed tests/graw: raw -> graw
for consistency
2010-05-11 07:03:27 +01:00
José Fonseca
b2e343daab tests/raw: Get it building with scons. 2010-05-05 02:39:08 +01:00
Alan Hourihane
cd834499eb gallium: disable tests when using embedded build 2010-04-13 12:54:36 +01:00
José Fonseca
6917ef10f2 progs/gallium: Move into src/gallium/tests
Two reasons:
- progs will eventually have its own repository
- it is just to easy to forget updating the
  code for interface changes when it is outside of src
2010-04-13 07:05:46 +09:00
Jakob Bornecrantz
c9f98673c5 gallium: Reorg winsys directories
Attached output from commit.
 delete mode 100644 src/gallium/winsys/drm/SConscript
 delete mode 100644 src/gallium/winsys/drm/i965/SConscript
 delete mode 100644 src/gallium/winsys/drm/intel/Makefile
 delete mode 100644 src/gallium/winsys/drm/intel/SConscript
 delete mode 100644 src/gallium/winsys/drm/nouveau/Makefile
 delete mode 100644 src/gallium/winsys/drm/radeon/Makefile
 delete mode 100644 src/gallium/winsys/drm/radeon/SConscript
 delete mode 100644 src/gallium/winsys/drm/vmware/Makefile
 delete mode 100644 src/gallium/winsys/drm/vmware/SConscript
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/Makefile (82%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/SConscript (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_api.c (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_batchbuffer.c (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_buffer.c (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_fence.c (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_winsys.h (100%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/Makefile (78%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/SConscript (100%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_api.c (98%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_buffer.c (100%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_winsys.h (100%)
 rename src/gallium/winsys/{drm => }/i965/xlib/Makefile (97%)
 rename src/gallium/winsys/{drm => }/i965/xlib/xlib_i965.c (100%)
 rename src/gallium/winsys/{drm => }/nouveau/drm/Makefile (79%)
 rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_dri.h (100%)
 rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_drm_api.c (100%)
 rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_drm_api.h (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/Makefile (79%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/SConscript (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_buffer.h (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm.c (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm.h (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm_buffer.c (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_r300.c (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_r300.h (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_winsys.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/Makefile (63%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/SConscript (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_buffer.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_buffer.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_context.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_context.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_fence.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_fence.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_dri.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_ioctl.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_pools.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_svga.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_surface.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_surface.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmwgfx_drm.h (100%)
 rename src/gallium/winsys/{drm/i965 => sw}/Makefile (61%)
 copy src/gallium/winsys/{drm/sw => sw/drm}/Makefile (73%)
 rename src/gallium/winsys/{drm/sw => sw/drm}/sw_drm_api.c (98%)
 rename src/gallium/winsys/{drm/sw => sw/drm}/sw_drm_api.h (100%)
 rename src/gallium/winsys/{ => sw}/gdi/SConscript (100%)
 rename src/gallium/winsys/{ => sw}/gdi/gdi_sw_winsys.c (100%)
 rename src/gallium/winsys/{ => sw}/gdi/gdi_sw_winsys.h (100%)
 rename src/gallium/winsys/{ => sw}/null/Makefile (78%)
 rename src/gallium/winsys/{ => sw}/null/SConscript (100%)
 rename src/gallium/winsys/{ => sw}/null/null_sw_winsys.c (100%)
 rename src/gallium/winsys/{ => sw}/null/null_sw_winsys.h (100%)
 rename src/gallium/winsys/{drm/sw => sw/wrapper}/Makefile (65%)
 rename src/gallium/winsys/{drm/sw => sw/wrapper}/wrapper_sw_winsys.c (100%)
 rename src/gallium/winsys/{drm/sw => sw/wrapper}/wrapper_sw_winsys.h (100%)
 rename src/gallium/winsys/{ => sw}/xlib/Makefile (79%)
 rename src/gallium/winsys/{ => sw}/xlib/SConscript (100%)
 rename src/gallium/winsys/{ => sw}/xlib/xlib_sw_winsys.c (100%)
2010-03-24 17:02:17 +01:00
José Fonseca
7b8641bbba python: More build fixes. 2010-03-10 12:00:13 +00:00
José Fonseca
706eda3057 scons: Add new targets option.
This will likely change. Most probably we'll just add an alias to indvidual
targets and use the regular scons targets arguments.
2010-03-09 15:09:32 +00:00
Alan Hourihane
dea98eb792 support an 'embedded' platform target which turns off most parts of the
build.
2010-01-26 20:59:12 +00:00
José Fonseca
f8f4757d46 scons: Aggregate all tiny libraries in a single library.
Makes integration of gallium into out of tree components much easier. No
pratical change for components in this tree,
2010-01-01 12:16:19 +00:00
Younes Manton
f547472bfa g3dvl: pipe_video_context interface, softpipe impl, auxiliary libs 2009-09-27 19:49:06 -04:00
Michel Dänzer
d22bd1421c Add support for building the Xorg state tracker with scons.
scons ... statetrackers=xorg
2009-08-25 15:39:05 +02:00
Jakob Bornecrantz
dfa4ebcbcc rbug: Add Gallium Remote Debugger Protocol code
This is the (de)marshalling and connection managment code
2009-06-01 11:19:39 +01:00
Michel Dänzer
ba27fe3710 gallium: Add SCons build support for the DRI state tracker. 2009-04-30 09:39:29 +02:00
Keith Whitwell
3120894c6d gallium: add new aux lib for index list translations
Could this be the ultimate index list translating utility?  Maybe, but it
doesn't yet include support for splitting primitives.

Unlike previous attempts, this captures all possible combinations of API
and hardware provoking vertex, supports generated list reuse and various
other tricks.  Relies on python-generated code.
2009-02-05 16:04:38 +00:00
Michel Dänzer
859db22527 scons: Fixups for the introduction of the xlib state_tracker.
Not quite working yet; glxinfo complains about glXChooseVisual being undefined.
2009-02-02 15:49:33 +01:00
Keith Whitwell
0e471ac457 wgl: relocate wgl code to state_trackers/wgl
Similar to the GLX state trackers for DRI and xlib.
2009-01-27 11:28:29 +00:00
José Fonseca
6410e94b96 python: New state tracker which exposes the pipe driver to python scripts.
Still under development. Just barely works.
2008-07-13 23:37:40 +09:00
José Fonseca
e2269e94c0 gallium: Build and link the translate module. 2008-04-16 11:39:22 +09:00
Michel Dänzer
1cd2623a53 gallium: Make scons build gallivm before other auxiliary modules.
This ensures that the gallivm symbols referenced by the draw module are
resolved properly.
2008-03-04 18:30:12 +01:00
José Fonseca
58a3d7dfd9 Revamp scons usage. 2008-02-23 19:49:08 +09:00
José Fonseca
26c57d1630 Avoid building problematic module/drivers on windows. 2008-02-23 00:47:28 +09:00
José Fonseca
df8ab3140c Bring rtasm from mesa to gallium. 2008-02-19 14:01:49 +09:00