gallium: add usage parameter to pipe_buffer_create
[mesa.git] / src / gallium / state_trackers / d3d1x / dxgi / src / dxgi_native.cpp
index a54324a04f2eb1e4074fe7b1b91faee461bf2ec0..2e45f3f43e97be64ae08a34cc4309bbd416209d4 100644 (file)
@@ -256,11 +256,16 @@ struct GalliumDXGIAdapter
        {
                this->parent = factory;
 
+                /* FIXME handler should be static */
                handler.invalid_surface = handle_invalid_surface;
                handler.new_drm_screen = dxgi_loader_create_drm_screen;
                handler.new_sw_screen = dxgi_loader_create_sw_screen;
-               display = platform->create_display(dpy, &handler, this);
+               platform->set_event_handler(&handler);
+
+               display = platform->create_display(dpy, FALSE, this);
                if(!display)
+                   display = platform->create_display(dpy, TRUE, this);
+                if(!display)
                        throw E_FAIL;
                memset(&desc, 0, sizeof(desc));
                std::string s = std::string("GalliumD3D on ") + display->screen->get_name(display->screen) + " by " + display->screen->get_vendor(display->screen);
@@ -789,9 +794,9 @@ struct dxgi_blitter
                const unsigned semantic_indices[] = { 0, 0 };
                vs = util_make_vertex_passthrough_shader(pipe, 2, semantic_names, semantic_indices);
 
-               vbuf.buffer = pipe_buffer_create(pipe->screen, PIPE_BIND_VERTEX_BUFFER, sizeof(quad_data));
+               vbuf.buffer = pipe_buffer_create(pipe->screen, PIPE_BIND_VERTEX_BUFFER,
+                                                PIPE_USAGE_STREAM, sizeof(quad_data));
                vbuf.buffer_offset = 0;
-               vbuf.max_index = ~0;
                vbuf.stride = 4 * sizeof(float);
                pipe_buffer_write(pipe, vbuf.buffer, 0, sizeof(quad_data), quad_data);