X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fwinsys%2Fdrm%2Fi965%2Fgem%2Fi965_drm_api.c;h=a061eef0beb2a1ad8691d86ec47752cbced839bb;hb=7b640f9f708306b3e8c661771f29bf24bf8687fb;hp=5d5dfdae464dbee8c64fd10173a0de37c14d4a62;hpb=cddc7e3a9cd321247c2298ef1b94cced1122a8e5;p=mesa.git diff --git a/src/gallium/winsys/drm/i965/gem/i965_drm_api.c b/src/gallium/winsys/drm/i965/gem/i965_drm_api.c index 5d5dfdae464..a061eef0beb 100644 --- a/src/gallium/winsys/drm/i965/gem/i965_drm_api.c +++ b/src/gallium/winsys/drm/i965/gem/i965_drm_api.c @@ -42,7 +42,7 @@ i965_libdrm_buffer_from_handle(struct i965_libdrm_winsys *idws, const char* name, unsigned handle) { struct i965_libdrm_buffer *buf = CALLOC_STRUCT(i965_libdrm_buffer); - uint32_t tile = 0, swizzle = 0; + uint32_t swizzle = 0; if (BRW_DUMP) debug_printf("%s\n", __FUNCTION__); @@ -60,8 +60,8 @@ i965_libdrm_buffer_from_handle(struct i965_libdrm_winsys *idws, if (!buf->bo) goto err; - drm_intel_bo_get_tiling(buf->bo, &tile, &swizzle); - if (tile != 0) + drm_intel_bo_get_tiling(buf->bo, &buf->tiling, &swizzle); + if (buf->tiling != 0) buf->map_gtt = TRUE; return buf; @@ -93,13 +93,16 @@ i965_libdrm_texture_from_shared_handle(struct drm_api *api, struct i965_libdrm_buffer *buffer; if (BRW_DUMP) - debug_printf("%s\n", __FUNCTION__); + debug_printf("%s %s pitch %d handle 0x%x\n", __FUNCTION__, + name, pitch, handle); buffer = i965_libdrm_buffer_from_handle(idws, name, handle); if (!buffer) return NULL; - return brw_texture_blanket_winsys_buffer(screen, template, pitch, &buffer->base); + return brw_texture_blanket_winsys_buffer(screen, template, pitch, + buffer->tiling, + &buffer->base); } @@ -128,6 +131,9 @@ i965_libdrm_shared_handle_from_texture(struct drm_api *api, *handle = buf->flink; + if (BRW_DUMP) + debug_printf(" -> pitch %d handle 0x%x\n", *pitch, *handle); + return TRUE; } @@ -148,6 +154,9 @@ i965_libdrm_local_handle_from_texture(struct drm_api *api, *handle = i965_libdrm_buffer(buffer)->bo->handle; + if (BRW_DUMP) + debug_printf(" -> pitch %d handle 0x%x\n", *pitch, *handle); + return TRUE; } @@ -198,17 +207,11 @@ i965_libdrm_create_screen(struct drm_api *api, int drmFD, idws->gem = drm_intel_bufmgr_gem_init(idws->fd, BRW_BATCH_SIZE); drm_intel_bufmgr_gem_enable_reuse(idws->gem); - idws->dump_cmd = debug_get_bool_option("I965_DUMP_CMD", FALSE); - idws->send_cmd = debug_get_bool_option("I965_SEND_CMD", FALSE); + idws->send_cmd = !debug_get_bool_option("BRW_NO_HW", FALSE); return brw_create_screen(&idws->base, deviceID); } -static struct pipe_context * -i965_libdrm_create_context(struct drm_api *api, struct pipe_screen *screen) -{ - return brw_create_context(screen); -} static void destroy(struct drm_api *api) @@ -220,7 +223,7 @@ destroy(struct drm_api *api) struct drm_api i965_libdrm_api = { - .create_context = i965_libdrm_create_context, + .name = "i965", .create_screen = i965_libdrm_create_screen, .texture_from_shared_handle = i965_libdrm_texture_from_shared_handle, .shared_handle_from_texture = i965_libdrm_shared_handle_from_texture,