It is planned to ship openSUSE 13.1 with -shared libs.
nouveau.la, nv30.la, nv50.la and nvc0.la are currently LIBADDs in all nouveau
related targets.
This change makes it possible to easily build one shared libnouveau.so which is
then LIBADDed.
Also dlopen will be faster for one library instead of three and build time on
-jX will be reduced.
Whitespace fixes were requested by 'git am'.
Signed-off-by: Johannes Obermayr <johannesobermayr@gmx.de>
Acked-by: Christoph Bumiller <christoph.bumiller@speed.at>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
HAVE_GALLIUM_NOUVEAU=yes
PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
gallium_require_drm_loader
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nv30 nv50 nvc0"
+ GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau"
gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" "" "xvmc-nouveau" "vdpau-nouveau"
;;
xfreedreno)
src/gallium/drivers/ilo/Makefile
src/gallium/drivers/llvmpipe/Makefile
src/gallium/drivers/nouveau/Makefile
- src/gallium/drivers/nv30/Makefile
- src/gallium/drivers/nv50/Makefile
- src/gallium/drivers/nvc0/Makefile
src/gallium/drivers/r300/Makefile
src/gallium/drivers/r600/Makefile
src/gallium/drivers/radeon/Makefile
ifneq ($(filter nouveau, $(MESA_GPU_DRIVERS)),)
SUBDIRS += \
winsys/nouveau/drm \
- drivers/nouveau \
- drivers/nvfx \
- drivers/nv50 \
- drivers/nvc0
+ drivers/nouveau
endif
# r300g/r600g/radeonsi
if HAVE_GALLIUM_NOUVEAU
-SUBDIRS += nouveau nv30 nv50 nvc0
+SUBDIRS += nouveau
endif
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(C_SOURCES)
+LOCAL_SRC_FILES := $(C_SOURCES) \
+ $(NV30_C_SOURCES) \
+ $(NV50_CODEGEN_SOURCES) \
+ $(NV50_C_SOURES) \
+ $(NVC0_CODEGEN_SOURCES) \
+ $(NVC0_C_SOURCES)
+
LOCAL_C_INCLUDES := $(DRM_TOP) \
$(DRM_TOP)/include/drm \
$(DRM_TOP)/nouveau
AM_CPPFLAGS = \
-I$(top_srcdir)/src/gallium/drivers/nouveau/include \
- -I$(top_srcdir)/src/gallium/drivers \
- -I$(top_srcdir)/include \
$(GALLIUM_CFLAGS) \
- $(LIBDRM_CFLAGS)
+ $(LIBDRM_CFLAGS) \
+ $(NOUVEAU_CFLAGS) \
+ $(VISIBILITY_CFLAGS)
-libnouveau_la_SOURCES = $(C_SOURCES)
+libnouveau_la_SOURCES = \
+ $(C_SOURCES) \
+ $(NV30_C_SOURCES) \
+ $(NV50_CODEGEN_SOURCES) \
+ $(NV50_C_SOURCES) \
+ $(NVC0_CODEGEN_SOURCES) \
+ $(NVC0_C_SOURCES)
nouveau_vp3_video.c \
nouveau_vp3_video_bsp.c \
nouveau_vp3_video_vp.c
+
+NV30_C_SOURCES := \
+ nv30/nv30_screen.c \
+ nv30/nv30_context.c \
+ nv30/nv30_format.c \
+ nv30/nv30_resource.c \
+ nv30/nv30_transfer.c \
+ nv30/nv30_miptree.c \
+ nv30/nv30_state.c \
+ nv30/nv30_state_validate.c \
+ nv30/nv30_texture.c \
+ nv30/nv30_fragtex.c \
+ nv30/nv40_verttex.c \
+ nv30/nv30_fragprog.c \
+ nv30/nv30_vertprog.c \
+ nv30/nv30_clear.c \
+ nv30/nv30_vbo.c \
+ nv30/nv30_push.c \
+ nv30/nv30_draw.c \
+ nv30/nv30_query.c \
+ nv30/nvfx_vertprog.c \
+ nv30/nvfx_fragprog.c
+
+NV50_C_SOURCES := \
+ nv50/nv50_context.c \
+ nv50/nv50_formats.c \
+ nv50/nv50_miptree.c \
+ nv50/nv50_resource.c \
+ nv50/nv50_screen.c \
+ nv50/nv50_state.c \
+ nv50/nv50_state_validate.c \
+ nv50/nv50_surface.c \
+ nv50/nv50_tex.c \
+ nv50/nv50_transfer.c \
+ nv50/nv50_vbo.c \
+ nv50/nv50_program.c \
+ nv50/nv50_shader_state.c \
+ nv50/nv50_push.c \
+ nv50/nv50_query.c \
+ nv50/nv84_video.c \
+ nv50/nv84_video_bsp.c \
+ nv50/nv84_video_vp.c \
+ nv50/nv98_video.c \
+ nv50/nv98_video_bsp.c \
+ nv50/nv98_video_vp.c \
+ nv50/nv98_video_ppp.c
+
+NV50_CODEGEN_SOURCES := \
+ codegen/nv50_ir.cpp \
+ codegen/nv50_ir_bb.cpp \
+ codegen/nv50_ir_build_util.cpp \
+ codegen/nv50_ir_emit_nv50.cpp \
+ codegen/nv50_ir_from_tgsi.cpp \
+ codegen/nv50_ir_graph.cpp \
+ codegen/nv50_ir_lowering_nv50.cpp \
+ codegen/nv50_ir_peephole.cpp \
+ codegen/nv50_ir_print.cpp \
+ codegen/nv50_ir_ra.cpp \
+ codegen/nv50_ir_ssa.cpp \
+ codegen/nv50_ir_target.cpp \
+ codegen/nv50_ir_target_nv50.cpp \
+ codegen/nv50_ir_util.cpp
+
+NVC0_CODEGEN_SOURCES := \
+ codegen/nv50_ir_emit_gk110.cpp \
+ codegen/nv50_ir_emit_nvc0.cpp \
+ codegen/nv50_ir_lowering_nvc0.cpp \
+ codegen/nv50_ir_target_nvc0.cpp
+
+NVC0_C_SOURCES := \
+ nvc0/nvc0_compute.c \
+ nvc0/nvc0_context.c \
+ nvc0/nvc0_formats.c \
+ nvc0/nvc0_miptree.c \
+ nvc0/nvc0_resource.c \
+ nvc0/nvc0_screen.c \
+ nvc0/nvc0_state.c \
+ nvc0/nvc0_state_validate.c \
+ nvc0/nvc0_surface.c \
+ nvc0/nvc0_tex.c \
+ nvc0/nvc0_transfer.c \
+ nvc0/nvc0_vbo.c \
+ nvc0/nvc0_vbo_translate.c \
+ nvc0/nvc0_program.c \
+ nvc0/nvc0_shader_state.c \
+ nvc0/nvc0_query.c \
+ nvc0/nve4_compute.c \
+ nvc0/nvc0_video.c \
+ nvc0/nvc0_video_bsp.c \
+ nvc0/nvc0_video_vp.c \
+ nvc0/nvc0_video_ppp.c
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir.h"
-#include "nv50_ir_target.h"
-#include "nv50_ir_driver.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_target.h"
+#include "codegen/nv50_ir_driver.h"
extern "C" {
#include "nv50/nv50_program.h"
info->io.sampleMask = 0xff;
info->io.backFaceColor[0] = info->io.backFaceColor[1] = 0xff;
}
-
+
int
nv50_ir_generate_code(struct nv50_ir_prog_info *info)
{
#include <list>
#include <vector>
-#include "nv50_ir_util.h"
-#include "nv50_ir_graph.h"
+#include "codegen/nv50_ir_util.h"
+#include "codegen/nv50_ir_graph.h"
-#include "nv50_ir_driver.h"
+#include "codegen/nv50_ir_driver.h"
namespace nv50_ir {
// =============================================================================
-#include "nv50_ir_inlines.h"
+#include "codegen/nv50_ir_inlines.h"
} // namespace nv50_ir
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir.h"
+#include "codegen/nv50_ir.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir.h"
-#include "nv50_ir_build_util.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_build_util.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir_target_nvc0.h"
+#include "codegen/nv50_ir_target_nvc0.h"
// CodeEmitter for GK110 encoding of the Fermi/Kepler ISA.
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir.h"
-#include "nv50_ir_target_nv50.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_target_nv50.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir_target_nvc0.h"
+#include "codegen/nv50_ir_target_nvc0.h"
namespace nv50_ir {
#include <set>
-#include "nv50_ir.h"
-#include "nv50_ir_util.h"
-#include "nv50_ir_build_util.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_util.h"
+#include "codegen/nv50_ir_build_util.h"
namespace tgsi {
return nv50_ir::TEX_TARGET_2D;
}
}
-
+
nv50_ir::DataType Instruction::inferSrcType() const
{
switch (getOpcode()) {
}
#define NV50_IR_OPCODE_CASE(a, b) case TGSI_OPCODE_##a: return nv50_ir::OP_##b
-
+
static nv50_ir::operation translateOpcode(uint opcode)
{
switch (opcode) {
src1 = fetchSrc(1, c);
src2 = fetchSrc(2, c);
mkOp3(op, dstTy, dst0[c], src0, src1, src2);
- }
+ }
break;
case TGSI_OPCODE_MOV:
case TGSI_OPCODE_ABS:
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir_graph.h"
+#include "codegen/nv50_ir_graph.h"
#include <limits>
#include <list>
#include <stack>
-#include "nv50_ir.h"
+#include "codegen/nv50_ir.h"
namespace nv50_ir {
#ifndef __NV50_IR_GRAPH_H__
#define __NV50_IR_GRAPH_H__
-#include "nv50_ir_util.h"
+#include "codegen/nv50_ir_util.h"
#include <vector>
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50/codegen/nv50_ir.h"
-#include "nv50/codegen/nv50_ir_build_util.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_build_util.h"
-#include "nv50_ir_target_nv50.h"
+#include "codegen/nv50_ir_target_nv50.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50/codegen/nv50_ir.h"
-#include "nv50/codegen/nv50_ir_build_util.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_build_util.h"
-#include "nv50_ir_target_nvc0.h"
+#include "codegen/nv50_ir_target_nvc0.h"
#include <limits>
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir.h"
-#include "nv50_ir_target.h"
-#include "nv50_ir_build_util.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_target.h"
+#include "codegen/nv50_ir_build_util.h"
extern "C" {
#include "util/u_math.h"
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir.h"
-#include "nv50_ir_target.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_target.h"
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir.h"
-#include "nv50_ir_target.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_target.h"
#include <stack>
#include <limits>
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir.h"
-#include "nv50_ir_target.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_target.h"
namespace nv50_ir {
public:
DominatorTree(Graph *cfg);
~DominatorTree() { }
-
+
bool dominates(BasicBlock *, BasicBlock *);
void findDominanceFrontiers();
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50/codegen/nv50_ir.h"
-#include "nv50/codegen/nv50_ir_target.h"
+#include "codegen/nv50_ir.h"
+#include "codegen/nv50_ir_target.h"
namespace nv50_ir {
} // namespace nv50_ir
-#include "nv50/codegen/nv50_ir_driver.h"
+#include "codegen/nv50_ir_driver.h"
extern "C" {
#ifndef __NV50_IR_TARGET_H__
#define __NV50_IR_TARGET_H__
-#include "nv50_ir.h"
+#include "codegen/nv50_ir.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir_target_nv50.h"
+#include "codegen/nv50_ir_target_nv50.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50/codegen/nv50_ir_target.h"
+#include "codegen/nv50_ir_target.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir_target_nvc0.h"
+#include "codegen/nv50_ir_target_nvc0.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50/codegen/nv50_ir_target.h"
+#include "codegen/nv50_ir_target.h"
namespace nv50_ir {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_ir_util.h"
+#include "codegen/nv50_ir_util.h"
namespace nv50_ir {
Item() { memset(&u, 0, sizeof(u)); }
};
-
+
Stack() : size(0), limit(0), array(0) { }
~Stack() { if (array) FREE(array); }
struct nouveau_device *dev = nouveau_screen(pscreen)->device;
struct nouveau_bo *bo = 0;
int ret;
-
+
ret = nouveau_bo_name_ref(dev, whandle->handle, &bo);
if (ret) {
debug_printf("%s: ref name 0x%08x failed with %d\n",
{
whandle->stride = stride;
- if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
+ if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
return nouveau_bo_name_get(bo, &whandle->handle) == 0;
} else if (whandle->type == DRM_API_HANDLE_TYPE_KMS) {
whandle->handle = bo->handle;
#include "nouveau_context.h"
#include "nouveau_video.h"
-#include "nouveau/nouveau_buffer.h"
+#include "nouveau_buffer.h"
#include "util/u_video.h"
#include "util/u_format.h"
#include "util/u_sampler.h"
#include "pipe/p_defines.h"
#include "util/u_pack_color.h"
-#include "nouveau/nouveau_gldefs.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_format.h"
+#include "nouveau_gldefs.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_format.h"
static INLINE uint32_t
pack_rgba(enum pipe_format format, const float *rgba)
#include "draw/draw_context.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
-#include "nouveau/nouveau_fence.h"
-#include "nv30_context.h"
-#include "nv30_transfer.h"
-#include "nv30_state.h"
+#include "nouveau_fence.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_transfer.h"
+#include "nv30/nv30_state.h"
static void
nv30_context_kick_notify(struct nouveau_pushbuf *push)
#include "pipe/p_format.h"
#include "util/u_blitter.h"
-#include "nv30_screen.h"
-#include "nv30_state.h"
+#include "nv30/nv30_screen.h"
+#include "nv30/nv30_state.h"
-#include "nouveau/nouveau_context.h"
+#include "nouveau_context.h"
#define BUFCTX_FB 0
#define BUFCTX_VTXTMP 1
#include "draw/draw_vbuf.h"
#include "draw/draw_private.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_format.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_format.h"
struct nv30_render {
struct vbuf_render base;
*
*/
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_format.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_format.h"
#define NV30_3D_RT_FORMAT_COLOR_X1R5G5B5 2
#include "tgsi/tgsi_parse.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nvfx_shader.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nvfx_shader.h"
static void
nv30_fragprog_upload(struct nv30_context *nv30)
#include "util/u_inlines.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_format.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_format.h"
void
nv30_fragtex_validate(struct nv30_context *nv30)
#include "util/u_inlines.h"
#include "util/u_surface.h"
-#include "nouveau/nv_m2mf.xml.h"
-#include "nv30_screen.h"
-#include "nv30_context.h"
-#include "nv30_resource.h"
-#include "nv30_transfer.h"
+#include "nv_m2mf.xml.h"
+#include "nv30/nv30_screen.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_resource.h"
+#include "nv30/nv30_transfer.h"
static INLINE unsigned
layer_offset(struct pipe_resource *pt, unsigned level, unsigned layer)
#include "util/u_format.h"
#include "translate/translate.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_resource.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_resource.h"
struct push_context {
struct nouveau_pushbuf *push;
*
*/
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_screen.h"
-#include "nv30_context.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_screen.h"
+#include "nv30/nv30_context.h"
#define LIST_FIRST_ENTRY(__type, __item, __field) \
LIST_ENTRY(__type, (__item)->next, __field)
#include "util/u_format.h"
#include "util/u_inlines.h"
-#include "nv30_screen.h"
-#include "nv30_context.h"
-#include "nv30_resource.h"
-#include "nv30_transfer.h"
+#include "nv30/nv30_screen.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_resource.h"
+#include "nv30/nv30_transfer.h"
static struct pipe_resource *
nv30_resource_create(struct pipe_screen *pscreen,
#ifndef __NV30_RESOURCE_H__
#define __NV30_RESOURCE_H__
-#include "nouveau/nouveau_buffer.h"
+#include "nouveau_buffer.h"
void nv30_resource_screen_init(struct pipe_screen *);
void nv30_resource_init(struct pipe_context *);
#include "util/u_format.h"
#include "util/u_format_s3tc.h"
-#include "nouveau/nv_object.xml.h"
-#include "nouveau/nv_m2mf.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv01_2d.xml.h"
-
-#include "nouveau/nouveau_fence.h"
-#include "nv30_screen.h"
-#include "nv30_context.h"
-#include "nv30_resource.h"
-#include "nv30_format.h"
+#include "nv_object.xml.h"
+#include "nv_m2mf.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv01_2d.xml.h"
+
+#include "nouveau_fence.h"
+#include "nv30/nv30_screen.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_resource.h"
+#include "nv30/nv30_format.h"
#define RANKINE_0397_CHIPSET 0x00000003
#define RANKINE_0497_CHIPSET 0x000001e0
#include "util/u_double_list.h"
-#include "nouveau/nouveau_screen.h"
-#include "nouveau/nouveau_fence.h"
-#include "nouveau/nouveau_heap.h"
-#include "nv30_winsys.h"
-#include "nv30_resource.h"
+#include "nouveau_screen.h"
+#include "nouveau_fence.h"
+#include "nouveau_heap.h"
+#include "nv30/nv30_winsys.h"
+#include "nv30/nv30_resource.h"
struct nv30_context;
#include "util/u_helpers.h"
#include "util/u_inlines.h"
-#include "nouveau/nouveau_gldefs.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_winsys.h"
+#include "nouveau_gldefs.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_winsys.h"
#define NV40_3D_MRT_BLEND_ENABLE 0x0000036c
#include "util/u_math.h"
#include "util/u_half.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_format.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_format.h"
static void
nv30_validate_fb(struct nv30_context *nv30)
#include "util/u_inlines.h"
#include "util/u_format.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_format.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_format.h"
#define NV30_3D_TEX_WRAP_S_MIRROR_REPEAT NV30_3D_TEX_WRAP_S_MIRRORED_REPEAT
#define NV30_WRAP(n) \
#include "util/u_math.h"
-#include "nouveau/nv_object.xml.h"
-#include "nouveau/nv_m2mf.xml.h"
-#include "nv01_2d.xml.h"
-#include "nv30-40_3d.xml.h"
+#include "nv_object.xml.h"
+#include "nv_m2mf.xml.h"
+#include "nv30/nv01_2d.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_transfer.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_transfer.h"
/* Various helper functions to transfer different types of data in a number
* of different ways.
#include "util/u_inlines.h"
#include "translate/translate.h"
-#include "nouveau/nouveau_fence.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_format.h"
+#include "nouveau_fence.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_format.h"
static void
nv30_emit_vtxattr(struct nv30_context *nv30, struct pipe_vertex_buffer *vb,
#include "util/u_dynarray.h"
#include "tgsi/tgsi_parse.h"
-#include "nouveau/nv_object.xml.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_state.h"
+#include "nv_object.xml.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_state.h"
static void
nv30_vertprog_destroy(struct nv30_vertprog *vp)
#define NV30_VP_SRC_REG_TYPE_INPUT 2
#define NV30_VP_SRC_REG_TYPE_CONST 3 /* guess */
-#include "nvfx_shader.h"
+#include "nv30/nvfx_shader.h"
#endif
#define __NV30_WINSYS_H__
#include <string.h>
-#include "nouveau/nouveau_winsys.h"
-#include "nouveau/nouveau_buffer.h"
+#include "nouveau_winsys.h"
+#include "nouveau_buffer.h"
/*XXX: rnn */
#define NV40_3D_VTXTEX_OFFSET(i) (0x0900 + ((i) * 0x20)) // 401e80
# define NV40_VP_SRC_REG_TYPE_INPUT 2
# define NV40_VP_SRC_REG_TYPE_CONST 3
-#include "nvfx_shader.h"
+#include "nv30/nvfx_shader.h"
#endif
*/
#include "util/u_inlines.h"
-#include "nv30_context.h"
+#include "nv30/nv30_context.h"
void
nv40_verttex_validate(struct nv30_context *nv30)
#include "tgsi/tgsi_dump.h"
#include "tgsi/tgsi_ureg.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nvfx_shader.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nvfx_shader.h"
struct nvfx_fpc {
struct nv30_fragprog *fp;
#include "draw/draw_context.h"
-#include "nv30-40_3d.xml.h"
-#include "nv30_context.h"
-#include "nv30_resource.h"
+#include "nv30/nv30-40_3d.xml.h"
+#include "nv30/nv30_context.h"
+#include "nv30/nv30_resource.h"
/* TODO (at least...):
* 1. Indexed consts + ARL
* 4. bugs
*/
-#include "nv30_vertprog.h"
-#include "nv40_vertprog.h"
+#include "nv30/nv30_vertprog.h"
+#include "nv30/nv40_vertprog.h"
struct nvfx_loop_entry {
unsigned brk_target;
#include "draw/draw_context.h"
#endif
-#include "nv50_context.h"
-#include "nv50_screen.h"
-#include "nv50_resource.h"
+#include "nv50/nv50_context.h"
+#include "nv50/nv50_screen.h"
+#include "nv50/nv50_resource.h"
static void
nv50_flush(struct pipe_context *pipe,
#include "draw/draw_vertex.h"
#endif
-#include "nv50_debug.h"
-#include "nv50_winsys.h"
-#include "nv50_stateobj.h"
-#include "nv50_screen.h"
-#include "nv50_program.h"
-#include "nv50_resource.h"
-#include "nv50_transfer.h"
-
-#include "nouveau/nouveau_context.h"
-#include "nouveau/nv_object.xml.h"
-#include "nouveau/nv_m2mf.xml.h"
-#include "nv50_3ddefs.xml.h"
-#include "nv50_3d.xml.h"
-#include "nv50_2d.xml.h"
+#include "nv50/nv50_debug.h"
+#include "nv50/nv50_winsys.h"
+#include "nv50/nv50_stateobj.h"
+#include "nv50/nv50_screen.h"
+#include "nv50/nv50_program.h"
+#include "nv50/nv50_resource.h"
+#include "nv50/nv50_transfer.h"
+
+#include "nouveau_context.h"
+#include "nv_object.xml.h"
+#include "nv_m2mf.xml.h"
+#include "nv50/nv50_3ddefs.xml.h"
+#include "nv50/nv50_3d.xml.h"
+#include "nv50/nv50_2d.xml.h"
#define NV50_NEW_BLEND (1 << 0)
#define NV50_NEW_RASTERIZER (1 << 1)
#include "draw/draw_pipe.h"
-#include "nv50_context.h"
+#include "nv50/nv50_context.h"
struct nv50_render_stage {
struct draw_stage stage;
*/
#if NOUVEAU_DRIVER == 0xc0
-# include "nvc0_screen.h"
-# include "nvc0_3d.xml.h"
+# include "nvc0/nvc0_screen.h"
+# include "nvc0/nvc0_3d.xml.h"
#else
-# include "nv50_screen.h"
-# include "nv50_3d.xml.h"
+# include "nv50/nv50_screen.h"
+# include "nv50/nv50_3d.xml.h"
#endif
-#include "nv50_texture.xml.h"
-#include "nv50_defs.xml.h"
+#include "nv50/nv50_texture.xml.h"
+#include "nv50/nv50_defs.xml.h"
#include "pipe/p_defines.h"
#include "util/u_inlines.h"
#include "util/u_format.h"
-#include "nv50_context.h"
-#include "nv50_resource.h"
+#include "nv50/nv50_context.h"
+#include "nv50/nv50_resource.h"
uint32_t
nv50_tex_choose_tile_dims_helper(unsigned nx, unsigned ny, unsigned nz)
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_program.h"
-#include "nv50_context.h"
+#include "nv50/nv50_program.h"
+#include "nv50/nv50_context.h"
#include "codegen/nv50_ir_driver.h"
#include "util/u_format.h"
#include "translate/translate.h"
-#include "nv50_context.h"
-#include "nv50_resource.h"
+#include "nv50/nv50_context.h"
+#include "nv50/nv50_resource.h"
-#include "nv50_3d.xml.h"
+#include "nv50/nv50_3d.xml.h"
struct push_context {
struct nouveau_pushbuf *push;
#define NV50_PUSH_EXPLICIT_SPACE_CHECKING
-#include "nv50_context.h"
-#include "nouveau/nv_object.xml.h"
+#include "nv50/nv50_context.h"
+#include "nv_object.xml.h"
/* XXX: Nested queries, and simultaneous queries on multiple gallium contexts
* (since we use only a single GPU channel per screen) will not work properly.
#include "util/u_inlines.h"
#include "util/u_format.h"
-#include "nouveau/nouveau_screen.h"
+#include "nouveau_screen.h"
-#include "nv50_resource.h"
+#include "nv50/nv50_resource.h"
static struct pipe_resource *
nv50_resource_create(struct pipe_screen *screen,
#include "util/u_transfer.h"
#include "util/u_double_list.h"
-#include "nouveau/nouveau_winsys.h"
-#include "nouveau/nouveau_buffer.h"
+#include "nouveau_winsys.h"
+#include "nouveau_buffer.h"
#ifndef __NVC0_RESOURCE_H__ /* make sure we don't use these in nvc0: */
#include "util/u_format_s3tc.h"
#include "pipe/p_screen.h"
-#include "nv50_context.h"
-#include "nv50_screen.h"
+#include "nv50/nv50_context.h"
+#include "nv50/nv50_screen.h"
-#include "nouveau/nouveau_vp3_video.h"
+#include "nouveau_vp3_video.h"
-#include "nouveau/nv_object.xml.h"
+#include "nv_object.xml.h"
#include <errno.h>
#ifndef NOUVEAU_GETPARAM_GRAPH_UNITS
default:
return 0;
}
-
+
switch (param) {
case PIPE_SHADER_CAP_MAX_INSTRUCTIONS:
case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS:
#ifndef __NV50_SCREEN_H__
#define __NV50_SCREEN_H__
-#include "nouveau/nouveau_screen.h"
-#include "nouveau/nouveau_fence.h"
-#include "nouveau/nouveau_mm.h"
-#include "nouveau/nouveau_heap.h"
+#include "nouveau_screen.h"
+#include "nouveau_fence.h"
+#include "nouveau_mm.h"
+#include "nouveau_heap.h"
-#include "nv50_winsys.h"
-#include "nv50_stateobj.h"
+#include "nv50/nv50_winsys.h"
+#include "nv50/nv50_stateobj.h"
#define NV50_TIC_MAX_ENTRIES 2048
#define NV50_TSC_MAX_ENTRIES 2048
int next;
uint32_t lock[NV50_TIC_MAX_ENTRIES / 32];
} tic;
-
+
struct {
void **entries;
int next;
#include "pipe/p_state.h"
#include "util/u_inlines.h"
-#include "nv50_context.h"
+#include "nv50/nv50_context.h"
void
nv50_constbufs_validate(struct nv50_context *nv50)
#include "tgsi/tgsi_parse.h"
-#include "nv50_stateobj.h"
-#include "nv50_context.h"
+#include "nv50/nv50_stateobj.h"
+#include "nv50/nv50_context.h"
-#include "nv50_3d.xml.h"
-#include "nv50_texture.xml.h"
+#include "nv50/nv50_3d.xml.h"
+#include "nv50/nv50_texture.xml.h"
-#include "nouveau/nouveau_gldefs.h"
+#include "nouveau_gldefs.h"
/* Caveats:
* ! pipe_sampler_state.normalized_coords is ignored - rectangle textures will
SB_BEGIN_3D(so, SCISSOR_ENABLE(0), 1);
SB_DATA (so, cso->scissor);
#endif
-
+
SB_BEGIN_3D(so, SHADE_MODEL, 1);
SB_DATA (so, cso->flatshade ? NV50_3D_SHADE_MODEL_FLAT :
NV50_3D_SHADE_MODEL_SMOOTH);
SB_BEGIN_3D(so, STENCIL_TWO_SIDE_ENABLE, 1);
SB_DATA (so, 0);
}
-
+
SB_BEGIN_3D(so, ALPHA_TEST_ENABLE, 1);
if (cso->alpha.enabled) {
SB_DATA (so, 1);
pipe->set_vertex_sampler_views = nv50_vp_set_sampler_views;
pipe->set_fragment_sampler_views = nv50_fp_set_sampler_views;
pipe->set_geometry_sampler_views = nv50_gp_set_sampler_views;
-
+
pipe->create_vs_state = nv50_vp_state_create;
pipe->create_fs_state = nv50_fp_state_create;
pipe->create_gs_state = nv50_gp_state_create;
-#include "nv50_context.h"
+#include "nv50/nv50_context.h"
#include "os/os_time.h"
static void
#define SB_DATA(so, u) (so)->state[(so)->size++] = (u)
-#include "nv50_stateobj_tex.h"
+#include "nv50/nv50_stateobj_tex.h"
struct nv50_blend_stateobj {
struct pipe_blend_state pipe;
#include "os/os_thread.h"
-#include "nv50_context.h"
-#include "nv50_resource.h"
+#include "nv50/nv50_context.h"
+#include "nv50/nv50_resource.h"
-#include "nv50_defs.xml.h"
-#include "nv50_texture.xml.h"
+#include "nv50/nv50_defs.xml.h"
+#include "nv50/nv50_texture.xml.h"
/* these are used in nv50_blit.h */
#define NV50_ENG2D_SUPPORTED_FORMATS 0xff0843e080608409ULL
#define NV50_ENG2D_OPERATION_FORMATS 0x060001c000608000ULL
#define NOUVEAU_DRIVER 0x50
-#include "nv50_blit.h"
+#include "nv50/nv50_blit.h"
static INLINE uint8_t
nv50_2d_format(enum pipe_format format, boolean dst, boolean dst_src_equal)
pipe->clear_render_target = nv50_clear_render_target;
pipe->clear_depth_stencil = nv50_clear_depth_stencil;
}
-
-
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_context.h"
-#include "nv50_resource.h"
-#include "nv50_texture.xml.h"
-#include "nv50_defs.xml.h"
+#include "nv50/nv50_context.h"
+#include "nv50/nv50_resource.h"
+#include "nv50/nv50_texture.xml.h"
+#include "nv50/nv50_defs.xml.h"
#include "util/u_format.h"
#include "util/u_format.h"
-#include "nv50_context.h"
+#include "nv50/nv50_context.h"
-#include "nv50_defs.xml.h"
+#include "nv50/nv50_defs.xml.h"
struct nv50_transfer {
struct pipe_transfer base;
#include "util/u_format.h"
#include "translate/translate.h"
-#include "nv50_context.h"
-#include "nv50_resource.h"
+#include "nv50/nv50_context.h"
+#include "nv50/nv50_resource.h"
-#include "nv50_3d.xml.h"
+#include "nv50/nv50_3d.xml.h"
void
nv50_vertex_state_delete(struct pipe_context *pipe,
#include "pipe/p_defines.h"
-#include "nouveau/nouveau_winsys.h"
-#include "nouveau/nouveau_buffer.h"
+#include "nouveau_winsys.h"
+#include "nouveau_buffer.h"
#ifndef NV04_PFIFO_MAX_PACKET_LEN
#include "util/u_sampler.h"
#include "vl/vl_zscan.h"
-#include "nv84_video.h"
+#include "nv50/nv84_video.h"
static int
nv84_copy_firmware(const char *path, void *dest, ssize_t len)
#include "util/u_video.h"
-#include "nv50_context.h"
+#include "nv50/nv50_context.h"
/* These are expected to be on their own pushbufs */
#define SUBC_BSP(m) 2, (m)
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv84_video.h"
+#include "nv50/nv84_video.h"
struct iparm {
struct iseqparm {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv84_video.h"
+#include "nv50/nv84_video.h"
#include "util/u_sse.h"
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv98_video.h"
+#include "nv50/nv98_video.h"
#include "util/u_sampler.h"
#include "util/u_format.h"
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv50_context.h"
-#include "nv50_screen.h"
-#include "nouveau/nouveau_vp3_video.h"
+#include "nv50/nv50_context.h"
+#include "nv50/nv50_screen.h"
+#include "nouveau_vp3_video.h"
#include "vl/vl_decoder.h"
#include "vl/vl_types.h"
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv98_video.h"
+#include "nv50/nv98_video.h"
#if NOUVEAU_VP3_DEBUG_FENCE
static void dump_comm_bsp(struct comm *comm)
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv98_video.h"
+#include "nv50/nv98_video.h"
static void
nv98_decoder_setup_ppp(struct nouveau_vp3_decoder *dec, struct nouveau_vp3_video_buffer *target, uint32_t low700) {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nv98_video.h"
+#include "nv50/nv98_video.h"
#include <sys/mman.h>
#if NOUVEAU_VP3_DEBUG_FENCE
* Authors: Christoph Bumiller, Samuel Pitoiset
*/
-#include "nvc0_context.h"
-#include "nvc0_compute.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_compute.h"
int
nvc0_screen_compute_setup(struct nvc0_screen *screen,
#define NVC0_COMPUTE_H
#include "nv50/nv50_defs.xml.h"
-#include "nvc0_compute.xml.h"
+#include "nvc0/nvc0_compute.xml.h"
boolean
nvc0_compute_validate_program(struct nvc0_context *nvc0);
#include "draw/draw_context.h"
#endif
-#include "nvc0_context.h"
-#include "nvc0_screen.h"
-#include "nvc0_resource.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_screen.h"
+#include "nvc0/nvc0_resource.h"
static void
nvc0_flush(struct pipe_context *pipe,
#endif
#include "nv50/nv50_debug.h"
-#include "nvc0_winsys.h"
-#include "nvc0_stateobj.h"
-#include "nvc0_screen.h"
-#include "nvc0_program.h"
-#include "nvc0_resource.h"
+#include "nvc0/nvc0_winsys.h"
+#include "nvc0/nvc0_stateobj.h"
+#include "nvc0/nvc0_screen.h"
+#include "nvc0/nvc0_program.h"
+#include "nvc0/nvc0_resource.h"
#include "nv50/nv50_transfer.h"
-#include "nouveau/nouveau_context.h"
+#include "nouveau_context.h"
-#include "nvc0_3ddefs.xml.h"
-#include "nvc0_3d.xml.h"
-#include "nvc0_2d.xml.h"
-#include "nvc0_m2mf.xml.h"
-#include "nve4_p2mf.xml.h"
+#include "nvc0/nvc0_3ddefs.xml.h"
+#include "nvc0/nvc0_3d.xml.h"
+#include "nvc0/nvc0_2d.xml.h"
+#include "nvc0/nvc0_m2mf.xml.h"
+#include "nvc0/nve4_p2mf.xml.h"
/* NOTE: must keep NVC0_NEW_...PROG in consecutive bits in this order */
#define NVC0_NEW_BLEND (1 << 0)
#include "draw/draw_pipe.h"
-#include "nvc0_context.h"
+#include "nvc0/nvc0_context.h"
struct nvc0_render_stage {
struct draw_stage stage;
#include "util/u_inlines.h"
#include "util/u_format.h"
-#include "nvc0_context.h"
-#include "nvc0_resource.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_resource.h"
static uint32_t
nvc0_tex_choose_tile_dims(unsigned nx, unsigned ny, unsigned nz)
#include "pipe/p_defines.h"
-#include "nvc0_context.h"
+#include "nvc0/nvc0_context.h"
-#include "nv50/codegen/nv50_ir_driver.h"
-#include "nve4_compute.h"
+#include "codegen/nv50_ir_driver.h"
+#include "nvc0/nve4_compute.h"
/* NOTE: Using a[0x270] in FP may cause an error even if we're using less than
* 124 scalar varying values.
#include "util/u_format.h"
#include "translate/translate.h"
-#include "nvc0_context.h"
-#include "nvc0_resource.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_resource.h"
-#include "nvc0_3d.xml.h"
+#include "nvc0/nvc0_3d.xml.h"
struct push_context {
struct nouveau_pushbuf *push;
#define NVC0_PUSH_EXPLICIT_SPACE_CHECKING
-#include "nvc0_context.h"
-#include "nouveau/nv_object.xml.h"
-#include "nve4_compute.xml.h"
-#include "nvc0_compute.xml.h"
+#include "nvc0/nvc0_context.h"
+#include "nv_object.xml.h"
+#include "nvc0/nve4_compute.xml.h"
+#include "nvc0/nvc0_compute.xml.h"
#define NVC0_QUERY_STATE_READY 0
#define NVC0_QUERY_STATE_ACTIVE 1
#include "pipe/p_context.h"
-#include "nvc0_resource.h"
-#include "nouveau/nouveau_screen.h"
+#include "nvc0/nvc0_resource.h"
+#include "nouveau_screen.h"
static struct pipe_resource *
#include "vl/vl_decoder.h"
#include "vl/vl_video_buffer.h"
-#include "nouveau/nouveau_vp3_video.h"
+#include "nouveau_vp3_video.h"
-#include "nvc0_context.h"
-#include "nvc0_screen.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_screen.h"
-#include "nvc0_graph_macros.h"
+#include "nvc0/nvc0_graph_macros.h"
#ifndef NOUVEAU_GETPARAM_GRAPH_UNITS
# define NOUVEAU_GETPARAM_GRAPH_UNITS 13
default:
return 0;
}
-
+
switch (param) {
case PIPE_SHADER_CAP_PREFERRED_IR:
return PIPE_SHADER_IR_TGSI;
#ifndef __NVC0_SCREEN_H__
#define __NVC0_SCREEN_H__
-#include "nouveau/nouveau_screen.h"
-#include "nouveau/nouveau_mm.h"
-#include "nouveau/nouveau_fence.h"
-#include "nouveau/nouveau_heap.h"
+#include "nouveau_screen.h"
+#include "nouveau_mm.h"
+#include "nouveau_fence.h"
+#include "nouveau_heap.h"
-#include "nouveau/nv_object.xml.h"
+#include "nv_object.xml.h"
-#include "nvc0_winsys.h"
-#include "nvc0_stateobj.h"
+#include "nvc0/nvc0_winsys.h"
+#include "nvc0/nvc0_stateobj.h"
#define NVC0_TIC_MAX_ENTRIES 2048
#define NVC0_TSC_MAX_ENTRIES 2048
int next;
uint32_t lock[NVC0_TIC_MAX_ENTRIES / 32];
} tic;
-
+
struct {
void **entries;
int next;
#include "pipe/p_state.h"
#include "util/u_inlines.h"
-#include "nvc0_context.h"
+#include "nvc0/nvc0_context.h"
static INLINE void
nvc0_program_update_context_state(struct nvc0_context *nvc0,
#include "tgsi/tgsi_parse.h"
-#include "nvc0_stateobj.h"
-#include "nvc0_context.h"
+#include "nvc0/nvc0_stateobj.h"
+#include "nvc0/nvc0_context.h"
-#include "nvc0_3d.xml.h"
+#include "nvc0/nvc0_3d.xml.h"
#include "nv50/nv50_texture.xml.h"
-#include "nouveau/nouveau_gldefs.h"
+#include "nouveau_gldefs.h"
static INLINE uint32_t
nvc0_colormask(unsigned mask)
/* Scissor enables are handled in scissor state, we will not want to
* always emit 16 commands, one for each scissor rectangle, here.
*/
-
+
SB_BEGIN_3D(so, SHADE_MODEL, 1);
SB_DATA (so, cso->flatshade ? NVC0_3D_SHADE_MODEL_FLAT :
NVC0_3D_SHADE_MODEL_SMOOTH);
SB_BEGIN_3D(so, LINE_STIPPLE_PATTERN, 1);
SB_DATA (so, (cso->line_stipple_pattern << 8) |
cso->line_stipple_factor);
-
+
}
SB_IMMED_3D(so, VP_POINT_SIZE_EN, cso->point_size_per_vertex);
pipe->set_compute_resources = nvc0_set_compute_resources;
pipe->set_shader_resources = nvc0_set_shader_resources;
}
-
#include "util/u_math.h"
-#include "nvc0_context.h"
+#include "nvc0/nvc0_context.h"
#if 0
static void
#include "os/os_thread.h"
-#include "nvc0_context.h"
-#include "nvc0_resource.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_resource.h"
#include "nv50/nv50_defs.xml.h"
#include "nv50/nv50_texture.xml.h"
pipe->clear_render_target = nvc0_clear_render_target;
pipe->clear_depth_stencil = nvc0_clear_depth_stencil;
}
-
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nvc0_context.h"
-#include "nvc0_resource.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_resource.h"
#include "nv50/nv50_texture.xml.h"
#include "nv50/nv50_defs.xml.h"
#include "util/u_format.h"
-#include "nvc0_context.h"
+#include "nvc0/nvc0_context.h"
#include "nv50/nv50_defs.xml.h"
#include "util/u_format.h"
#include "translate/translate.h"
-#include "nvc0_context.h"
-#include "nvc0_resource.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_resource.h"
-#include "nvc0_3d.xml.h"
+#include "nvc0/nvc0_3d.xml.h"
void
nvc0_vertex_state_delete(struct pipe_context *pipe,
#include "util/u_format.h"
#include "translate/translate.h"
-#include "nvc0_context.h"
-#include "nvc0_resource.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_resource.h"
-#include "nvc0_3d.xml.h"
+#include "nvc0/nvc0_3d.xml.h"
struct push_context {
struct nouveau_pushbuf *push;
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nvc0_video.h"
+#include "nvc0/nvc0_video.h"
#include "util/u_sampler.h"
#include "util/u_format.h"
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nvc0_context.h"
-#include "nvc0_screen.h"
-#include "nouveau/nouveau_vp3_video.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_screen.h"
+#include "nouveau_vp3_video.h"
#include "vl/vl_decoder.h"
#include "vl/vl_types.h"
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nvc0_video.h"
+#include "nvc0/nvc0_video.h"
#if NOUVEAU_VP3_DEBUG_FENCE
static void dump_comm_bsp(struct comm *comm)
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nvc0_video.h"
+#include "nvc0/nvc0_video.h"
static void
nvc0_decoder_setup_ppp(struct nouveau_vp3_decoder *dec, struct nouveau_vp3_video_buffer *target, uint32_t low700) {
* OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "nvc0_video.h"
+#include "nvc0/nvc0_video.h"
#include <sys/mman.h>
#if NOUVEAU_VP3_DEBUG_FENCE
#include "pipe/p_defines.h"
-#include "nouveau/nouveau_winsys.h"
-#include "nouveau/nouveau_buffer.h"
+#include "nouveau_winsys.h"
+#include "nouveau_buffer.h"
#ifndef NV04_PFIFO_MAX_PACKET_LEN
#define NV04_PFIFO_MAX_PACKET_LEN 2047
* Authors: Christoph Bumiller
*/
-#include "nvc0_context.h"
-#include "nvc0_compute.h"
-#include "nve4_compute.h"
+#include "nvc0/nvc0_context.h"
+#include "nvc0/nvc0_compute.h"
+#include "nvc0/nve4_compute.h"
-#include "nv50/codegen/nv50_ir_driver.h"
+#include "codegen/nv50_ir_driver.h"
#ifdef DEBUG
static void nve4_compute_dump_launch_desc(const struct nve4_cp_launch_desc *);
#define NVE4_COMPUTE_H
#include "nv50/nv50_defs.xml.h"
-#include "nve4_compute.xml.h"
+#include "nvc0/nve4_compute.xml.h"
/* Input space is implemented as c0[], to which we bind the screen->parm bo.
*/
+++ /dev/null
-# Mesa 3-D graphics library
-#
-# Copyright (C) 2011 Chia-I Wu <olvaffe@gmail.com>
-# Copyright (C) 2011 LunarG Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-
-LOCAL_PATH := $(call my-dir)
-
-# get C_SOURCES and CPP_SOURCES
-include $(LOCAL_PATH)/Makefile.sources
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(C_SOURCES) $(CPP_SOURCES)
-LOCAL_C_INCLUDES := $(DRM_TOP)
-
-LOCAL_MODULE := libmesa_pipe_nv30
-
-include $(GALLIUM_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
+++ /dev/null
-# Copyright © 2012 Intel Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-
-include Makefile.sources
-include $(top_srcdir)/src/gallium/Automake.inc
-
-noinst_LTLIBRARIES = libnv30.la
-
-AM_CPPFLAGS = \
- -I$(top_srcdir)/src/gallium/drivers \
- -I$(top_srcdir)/include \
- $(GALLIUM_CFLAGS) \
- $(NOUVEAU_CFLAGS)
-
-libnv30_la_SOURCES = $(C_SOURCES)
+++ /dev/null
-C_SOURCES := nv30_screen.c \
- nv30_context.c \
- nv30_format.c \
- nv30_resource.c \
- nv30_transfer.c \
- nv30_miptree.c \
- nv30_state.c \
- nv30_state_validate.c \
- nv30_texture.c \
- nv30_fragtex.c \
- nv40_verttex.c \
- nv30_fragprog.c \
- nv30_vertprog.c \
- nv30_clear.c \
- nv30_vbo.c \
- nv30_push.c \
- nv30_draw.c \
- nv30_query.c \
- nvfx_vertprog.c \
- nvfx_fragprog.c
+++ /dev/null
-# Mesa 3-D graphics library
-#
-# Copyright (C) 2011 Chia-I Wu <olvaffe@gmail.com>
-# Copyright (C) 2011 LunarG Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-
-LOCAL_PATH := $(call my-dir)
-
-# get C_SOURCES and CPP_SOURCES
-include $(LOCAL_PATH)/Makefile.sources
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(C_SOURCES) $(CPP_SOURCES)
-LOCAL_C_INCLUDES := $(DRM_TOP)
-
-LOCAL_MODULE := libmesa_pipe_nv50
-
-include $(GALLIUM_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
+++ /dev/null
-# Copyright © 2012 Intel Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-
-include Makefile.sources
-include $(top_srcdir)/src/gallium/Automake.inc
-
-noinst_LTLIBRARIES = libnv50.la
-
-AM_CPPFLAGS = \
- -I$(top_srcdir)/src/gallium/drivers \
- -I$(top_srcdir)/include \
- $(GALLIUM_CFLAGS) \
- $(NOUVEAU_CFLAGS)
-
-libnv50_la_SOURCES = $(C_SOURCES) $(CPP_SOURCES)
+++ /dev/null
-C_SOURCES := \
- nv50_context.c \
- nv50_formats.c \
- nv50_miptree.c \
- nv50_resource.c \
- nv50_screen.c \
- nv50_state.c \
- nv50_state_validate.c \
- nv50_surface.c \
- nv50_tex.c \
- nv50_transfer.c \
- nv50_vbo.c \
- nv50_program.c \
- nv50_shader_state.c \
- nv50_push.c \
- nv50_query.c \
- nv84_video.c \
- nv84_video_bsp.c \
- nv84_video_vp.c \
- nv98_video.c \
- nv98_video_bsp.c \
- nv98_video_vp.c \
- nv98_video_ppp.c
-
-CODEGEN_NV50_SOURCES := \
- codegen/nv50_ir.cpp \
- codegen/nv50_ir_bb.cpp \
- codegen/nv50_ir_build_util.cpp \
- codegen/nv50_ir_emit_nv50.cpp \
- codegen/nv50_ir_from_tgsi.cpp \
- codegen/nv50_ir_graph.cpp \
- codegen/nv50_ir_lowering_nv50.cpp \
- codegen/nv50_ir_peephole.cpp \
- codegen/nv50_ir_print.cpp \
- codegen/nv50_ir_ra.cpp \
- codegen/nv50_ir_ssa.cpp \
- codegen/nv50_ir_target.cpp \
- codegen/nv50_ir_target_nv50.cpp \
- codegen/nv50_ir_util.cpp
-
-CODEGEN_NVC0_SOURCES := \
- $(top_srcdir)/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_gk110.cpp \
- $(top_srcdir)/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp \
- $(top_srcdir)/src/gallium/drivers/nvc0/codegen/nv50_ir_lowering_nvc0.cpp \
- $(top_srcdir)/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp
-
-CPP_SOURCES := \
- $(CODEGEN_NV50_SOURCES) \
- $(CODEGEN_NVC0_SOURCES)
+++ /dev/null
-# Mesa 3-D graphics library
-#
-# Copyright (C) 2011 Chia-I Wu <olvaffe@gmail.com>
-# Copyright (C) 2011 LunarG Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-
-LOCAL_PATH := $(call my-dir)
-
-# get C_SOURCES and CPP_SOURCES
-include $(LOCAL_PATH)/Makefile.sources
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(C_SOURCES) $(CPP_SOURCES)
-LOCAL_C_INCLUDES := $(DRM_TOP)
-
-LOCAL_MODULE := libmesa_pipe_nvc0
-
-include $(GALLIUM_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
+++ /dev/null
-# Copyright © 2012 Intel Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-
-include Makefile.sources
-include $(top_srcdir)/src/gallium/Automake.inc
-
-noinst_LTLIBRARIES = libnvc0.la
-
-AM_CPPFLAGS = \
- -I$(top_srcdir)/src/gallium/drivers \
- -I$(top_srcdir)/include \
- $(GALLIUM_CFLAGS) \
- $(NOUVEAU_CFLAGS)
-
-libnvc0_la_SOURCES = $(C_SOURCES) $(CPP_SOURCES)
+++ /dev/null
-C_SOURCES := \
- nvc0_compute.c \
- nvc0_context.c \
- nvc0_formats.c \
- nvc0_miptree.c \
- nvc0_resource.c \
- nvc0_screen.c \
- nvc0_state.c \
- nvc0_state_validate.c \
- nvc0_surface.c \
- nvc0_tex.c \
- nvc0_transfer.c \
- nvc0_vbo.c \
- nvc0_vbo_translate.c \
- nvc0_program.c \
- nvc0_shader_state.c \
- nvc0_query.c \
- nve4_compute.c \
- nvc0_video.c \
- nvc0_video_bsp.c \
- nvc0_video_vp.c \
- nvc0_video_ppp.c
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
$(top_builddir)/src/gallium/drivers/rbug/librbug.la \
- $(top_builddir)/src/gallium/drivers/nv30/libnv30.la \
- $(top_builddir)/src/gallium/drivers/nv50/libnv50.la \
- $(top_builddir)/src/gallium/drivers/nvc0/libnvc0.la \
$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
$(GALLIUM_DRI_LIB_DEPS) \
$(LIBDRM_LIBS) \
AM_CPPFLAGS += -D_EGL_PIPE_NOUVEAU=1
egl_gallium_la_LIBADD += \
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
- $(top_builddir)/src/gallium/drivers/nv30/libnv30.la \
- $(top_builddir)/src/gallium/drivers/nv50/libnv50.la \
- $(top_builddir)/src/gallium/drivers/nvc0/libnvc0.la \
$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
$(NOUVEAU_LIBS)
endif
pipe_nouveau_la_LIBADD = \
$(PIPE_LIBS) \
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
- $(top_builddir)/src/gallium/drivers/nv30/libnv30.la \
- $(top_builddir)/src/gallium/drivers/nv50/libnv50.la \
- $(top_builddir)/src/gallium/drivers/nvc0/libnvc0.la \
$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
$(NOUVEAU_LIBS)
pipe_nouveau_la_LDFLAGS = -no-undefined -avoid-version -module
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
- $(top_builddir)/src/gallium/drivers/nv30/libnv30.la \
- $(top_builddir)/src/gallium/drivers/nv50/libnv50.la \
- $(top_builddir)/src/gallium/drivers/nvc0/libnvc0.la \
$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
$(GALLIUM_DRI_LIB_DEPS) \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/state_trackers/xorg/libxorgtracker.la \
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
- $(top_builddir)/src/gallium/drivers/nv30/libnv30.la \
- $(top_builddir)/src/gallium/drivers/nv50/libnv50.la \
- $(top_builddir)/src/gallium/drivers/nvc0/libnvc0.la \
$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
$(top_builddir)/src/gallium/drivers/rbug/librbug.la \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/state_trackers/xvmc/libxvmctracker.la \
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
- $(top_builddir)/src/gallium/drivers/nv30/libnv30.la \
- $(top_builddir)/src/gallium/drivers/nv50/libnv50.la \
- $(top_builddir)/src/gallium/drivers/nvc0/libnvc0.la \
$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
$(GALLIUM_DRI_LIB_DEPS) \