#include "util/u_prim.h"
VkPipeline
-zink_create_gfx_pipeline(VkDevice dev, struct zink_gfx_program *prog,
+zink_create_gfx_pipeline(struct zink_screen *screen,
+ struct zink_gfx_program *prog,
struct zink_gfx_pipeline_state *state,
VkPrimitiveTopology primitive_topology)
{
pci.stageCount = num_stages;
VkPipeline pipeline;
- if (vkCreateGraphicsPipelines(dev, VK_NULL_HANDLE, 1, &pci, NULL, &pipeline) != VK_SUCCESS) {
+ if (vkCreateGraphicsPipelines(screen->dev, VK_NULL_HANDLE, 1, &pci,
+ NULL, &pipeline) != VK_SUCCESS) {
debug_printf("vkCreateGraphicsPipelines failed\n");
return VK_NULL_HANDLE;
}
struct zink_gfx_program;
struct zink_rasterizer_state;
struct zink_render_pass;
+struct zink_screen;
struct zink_vertex_elements_state;
struct zink_gfx_pipeline_state {
};
VkPipeline
-zink_create_gfx_pipeline(VkDevice dev, struct zink_gfx_program *prog,
+zink_create_gfx_pipeline(struct zink_screen *screen,
+ struct zink_gfx_program *prog,
struct zink_gfx_pipeline_state *state,
VkPrimitiveTopology primitive_topology);
struct hash_entry *entry = _mesa_hash_table_search(prog->pipelines[mode], state);
if (!entry) {
VkPrimitiveTopology vkmode = primitive_topology(mode);
- VkPipeline pipeline = zink_create_gfx_pipeline(screen->dev, prog,
+ VkPipeline pipeline = zink_create_gfx_pipeline(screen, prog,
state, vkmode);
if (pipeline == VK_NULL_HANDLE)
return VK_NULL_HANDLE;