@@ -184,7 +184,7 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
184184
185185 // create vertex buffer
186186 const plBufferDesc tVertexBufferDesc = {
187- .tUsage = PL_BUFFER_USAGE_VERTEX | PL_BUFFER_USAGE_TRANSFER_DESTINATION ,
187+ .eUsage = PL_BUFFER_USAGE_VERTEX | PL_BUFFER_USAGE_TRANSFER ,
188188 .szByteSize = sizeof (float ) * PL_ARRAYSIZE (atVertexData ),
189189 .pcDebugName = "vertex buffer"
190190 };
@@ -213,7 +213,7 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
213213
214214 // create index buffer
215215 const plBufferDesc tIndexBufferDesc = {
216- .tUsage = PL_BUFFER_USAGE_INDEX | PL_BUFFER_USAGE_TRANSFER_DESTINATION ,
216+ .eUsage = PL_BUFFER_USAGE_INDEX | PL_BUFFER_USAGE_TRANSFER ,
217217 .szByteSize = sizeof (uint32_t ) * PL_ARRAYSIZE (atIndexData ),
218218 .pcDebugName = "index buffer"
219219 };
@@ -236,7 +236,7 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
236236
237237 // create vertex buffer
238238 const plBufferDesc tStagingBufferDesc = {
239- .tUsage = PL_BUFFER_USAGE_TRANSFER_SOURCE ,
239+ .eUsage = PL_BUFFER_USAGE_TRANSFER ,
240240 .szByteSize = 4096 ,
241241 .pcDebugName = "staging buffer"
242242 };
@@ -264,33 +264,36 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
264264 // begin blit pass, copy buffer, end pass
265265 // NOTE: we are using the starter extension to get a blit encoder, later examples we will
266266 // handle this ourselves
267- plBlitEncoder * ptEncoder = gptStarter -> get_blit_encoder ();
268- gptGfx -> copy_buffer (ptEncoder , ptAppData -> tStagingBuffer , ptAppData -> tVertexBuffer , 0 , 0 , sizeof (float ) * PL_ARRAYSIZE (atVertexData ));
269- gptGfx -> copy_buffer (ptEncoder , ptAppData -> tStagingBuffer , ptAppData -> tIndexBuffer , 1024 , 0 , sizeof (uint32_t ) * PL_ARRAYSIZE (atIndexData ));
270- gptStarter -> return_blit_encoder (ptEncoder );
267+
268+ plCommandBuffer * ptCommandBuffer = gptStarter -> get_temporary_command_buffer ();
269+ gptGfx -> begin_compute_pass (ptCommandBuffer , NULL );
270+ gptGfx -> copy_buffer (ptCommandBuffer , ptAppData -> tStagingBuffer , ptAppData -> tVertexBuffer , 0 , 0 , sizeof (float ) * PL_ARRAYSIZE (atVertexData ));
271+ gptGfx -> copy_buffer (ptCommandBuffer , ptAppData -> tStagingBuffer , ptAppData -> tIndexBuffer , 1024 , 0 , sizeof (uint32_t ) * PL_ARRAYSIZE (atIndexData ));
272+ gptGfx -> end_compute_pass (ptCommandBuffer );
273+ gptStarter -> submit_temporary_command_buffer (ptCommandBuffer );
271274
272275 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~shaders~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
273276
274- const plShaderDesc tShaderDesc = {
277+ plShaderDesc tShaderDesc = {
275278 .tVertexShader = gptShader -> load_glsl ("example_gfx_0.vert" , "main" , NULL , NULL ),
276279 .tFragmentShader = gptShader -> load_glsl ("example_gfx_0.frag" , "main" , NULL , NULL ),
277280 .tGraphicsState = {
278- .ulDepthWriteEnabled = 0 ,
279- .ulDepthMode = PL_COMPARE_MODE_ALWAYS ,
280- .ulCullMode = PL_CULL_MODE_NONE ,
281- .ulWireframe = 0 ,
282- .ulStencilMode = PL_COMPARE_MODE_ALWAYS ,
283- .ulStencilRef = 0xff ,
284- .ulStencilMask = 0xff ,
285- .ulStencilOpFail = PL_STENCIL_OP_KEEP ,
286- .ulStencilOpDepthFail = PL_STENCIL_OP_KEEP ,
287- .ulStencilOpPass = PL_STENCIL_OP_KEEP
281+ .bDepthWriteEnabled = 0 ,
282+ .eDepthMode = PL_COMPARE_MODE_ALWAYS ,
283+ .eCullMode = PL_CULL_MODE_NONE ,
284+ .bWireframe = 0 ,
285+ .eStencilMode = PL_COMPARE_MODE_ALWAYS ,
286+ .uStencilRef = 0xff ,
287+ .uStencilMask = 0xff ,
288+ .eStencilOpFail = PL_STENCIL_OP_KEEP ,
289+ .eStencilOpDepthFail = PL_STENCIL_OP_KEEP ,
290+ .eStencilOpPass = PL_STENCIL_OP_KEEP
288291 },
289292 .atVertexBufferLayouts = {
290293 {
291294 .atAttributes = {
292- {.tFormat = PL_VERTEX_FORMAT_FLOAT2 },
293- {.tFormat = PL_VERTEX_FORMAT_FLOAT4 },
295+ {.eFormat = PL_VERTEX_FORMAT_FLOAT2 },
296+ {.eFormat = PL_VERTEX_FORMAT_FLOAT4 },
294297 }
295298 }
296299 },
@@ -299,9 +302,9 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
299302 .bBlendEnabled = false,
300303 .uColorWriteMask = PL_COLOR_WRITE_MASK_ALL
301304 }
302- },
303- .tRenderPassLayout = gptStarter -> get_render_pass_layout (),
305+ }
304306 };
307+ gptStarter -> get_render_attachment_info (& tShaderDesc .tRenderAttachmentInfo );
305308 ptAppData -> tShader = gptGfx -> create_shader (ptDevice , & tShaderDesc );
306309
307310 // return app memory
@@ -352,18 +355,18 @@ pl_app_update(plAppData* ptAppData)
352355 return ;
353356
354357 // start main pass & return the encoder being used
355- plRenderEncoder * ptEncoder = gptStarter -> begin_main_pass ();
358+ plCommandBuffer * ptCommandBuffer = gptStarter -> begin_main_pass ();
356359
357360 // submit nonindexed draw using basic API
358- gptGfx -> bind_shader (ptEncoder , ptAppData -> tShader );
359- gptGfx -> bind_vertex_buffer (ptEncoder , ptAppData -> tVertexBuffer );
361+ gptGfx -> bind_shader (ptCommandBuffer , ptAppData -> tShader );
362+ gptGfx -> bind_vertex_buffer (ptCommandBuffer , ptAppData -> tVertexBuffer );
360363
361364 const plDrawIndex tDraw = {
362365 .uInstanceCount = 1 ,
363366 .uIndexCount = 6 ,
364367 .tIndexBuffer = ptAppData -> tIndexBuffer
365368 };
366- gptGfx -> draw_indexed (ptEncoder , 1 , & tDraw );
369+ gptGfx -> draw_indexed (ptCommandBuffer , 1 , & tDraw );
367370
368371 // allows the starter extension to handle some things then ends the main pass
369372 gptStarter -> end_main_pass ();
0 commit comments