r600: fork and import gallium/radeon
[mesa.git] / src / gallium / drivers / r600 / r600_pipe.c
index 0f30d0985c1193045a63416c5390c898d14a4570..9ed7a17c5c7cf8d35fcbf6470330d64bd6a5bc14 100644 (file)
@@ -37,8 +37,8 @@
 #include "util/u_math.h"
 #include "vl/vl_decoder.h"
 #include "vl/vl_video_buffer.h"
-#include "radeon/radeon_video.h"
-#include "radeon/radeon_uvd.h"
+#include "radeon_video.h"
+#include "radeon_uvd.h"
 #include "os/os_time.h"
 
 static const struct debug_named_value r600_debug_options[] = {
@@ -400,6 +400,8 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
        case PIPE_CAP_BINDLESS_TEXTURE:
        case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
        case PIPE_CAP_QUERY_SO_OVERFLOW:
+       case PIPE_CAP_MEMOBJ:
+       case PIPE_CAP_LOAD_CONSTBUF:
                return 0;
 
        case PIPE_CAP_DOUBLES:
@@ -568,6 +570,8 @@ static int r600_get_shader_param(struct pipe_screen* pscreen,
        case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR:
                return 1;
        case PIPE_SHADER_CAP_SUBROUTINES:
+       case PIPE_SHADER_CAP_INT64_ATOMICS:
+       case PIPE_SHADER_CAP_FP16:
                return 0;
        case PIPE_SHADER_CAP_INTEGERS:
        case PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE:
@@ -634,7 +638,8 @@ static struct pipe_resource *r600_resource_create(struct pipe_screen *screen,
        return r600_resource_create_common(screen, templ);
 }
 
-struct pipe_screen *r600_screen_create(struct radeon_winsys *ws, unsigned flags)
+struct pipe_screen *r600_screen_create(struct radeon_winsys *ws,
+                                      const struct pipe_screen_config *config)
 {
        struct r600_screen *rscreen = CALLOC_STRUCT(r600_screen);
 
@@ -649,7 +654,7 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws, unsigned flags)
        rscreen->b.b.get_shader_param = r600_get_shader_param;
        rscreen->b.b.resource_create = r600_resource_create;
 
-       if (!r600_common_screen_init(&rscreen->b, ws, flags)) {
+       if (!r600_common_screen_init(&rscreen->b, ws)) {
                FREE(rscreen);
                return NULL;
        }
@@ -664,7 +669,7 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws, unsigned flags)
        if (debug_get_bool_option("R600_DEBUG_COMPUTE", FALSE))
                rscreen->b.debug_flags |= DBG_COMPUTE;
        if (debug_get_bool_option("R600_DUMP_SHADERS", FALSE))
-               rscreen->b.debug_flags |= DBG_FS | DBG_VS | DBG_GS | DBG_PS | DBG_CS | DBG_TCS | DBG_TES;
+               rscreen->b.debug_flags |= DBG_ALL_SHADERS | DBG_FS;
        if (!debug_get_bool_option("R600_HYPERZ", TRUE))
                rscreen->b.debug_flags |= DBG_NO_HYPERZ;