@@ -675,25 +675,25 @@ pl_renderer_create_scene(plSceneInit tInit)
675675
676676 // pre-create some global buffers, later we should defer this
677677 const plBufferDesc atLightShadowDataBufferDesc = {
678- .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_STAGING ,
678+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
679679 .szByteSize = PL_MAX_LIGHTS * sizeof (plGpuLightShadow ),
680680 .pcDebugName = "shadow data buffer"
681681 };
682682
683683 const plBufferDesc atCameraBuffersDesc = {
684- .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_STAGING ,
684+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
685685 .szByteSize = 4096 ,
686686 .pcDebugName = "camera buffers"
687687 };
688688
689689 const plBufferDesc atProbeDataBufferDesc = {
690- .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_STAGING ,
690+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
691691 .szByteSize = 4096 ,
692692 .pcDebugName = "probe buffers"
693693 };
694694
695695 const plBufferDesc tSceneBufferDesc = {
696- .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_STAGING ,
696+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
697697 .szByteSize = sizeof (plGpuSceneData ),
698698 .pcDebugName = "scene buffer"
699699 };
@@ -745,7 +745,7 @@ pl_renderer_create_scene(plSceneInit tInit)
745745 const size_t uMaxFaceSize = ((size_t )1024 * (size_t )1024 ) * 4 * sizeof (float );
746746
747747 const plBufferDesc tInputBufferDesc = {
748- .tUsage = PL_BUFFER_USAGE_STORAGE ,
748+ .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_TRANSFER_SOURCE ,
749749 .szByteSize = uMaxFaceSize ,
750750 .pcDebugName = "filter buffers"
751751 };
@@ -1255,25 +1255,25 @@ pl_renderer_create_view(plScene* ptScene, plVec2 tDimensions)
12551255 };
12561256
12571257 const plBufferDesc atView2BuffersDesc = {
1258- .tUsage = PL_BUFFER_USAGE_UNIFORM | PL_BUFFER_USAGE_STAGING ,
1258+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
12591259 .szByteSize = 4096 ,
12601260 .pcDebugName = "view buffer"
12611261 };
12621262
12631263 const plBufferDesc atCameraBuffersDesc = {
1264- .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_STAGING ,
1264+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
12651265 .szByteSize = 4096 ,
12661266 .pcDebugName = "camera buffers"
12671267 };
12681268
12691269 const plBufferDesc atLightShadowDataBufferDesc = {
1270- .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_STAGING ,
1270+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
12711271 .szByteSize = PL_MAX_LIGHTS * sizeof (plGpuLightShadow ),
12721272 .pcDebugName = "shadow data buffer"
12731273 };
12741274
12751275 const plBufferDesc atViewBuffersDesc = {
1276- .tUsage = PL_BUFFER_USAGE_UNIFORM | PL_BUFFER_USAGE_STAGING ,
1276+ .tUsage = PL_BUFFER_USAGE_UNIFORM ,
12771277 .szByteSize = sizeof (plGpuViewData ),
12781278 .pcDebugName = "view buffer"
12791279 };
@@ -1392,7 +1392,7 @@ pl_renderer_create_view(plScene* ptScene, plVec2 tDimensions)
13921392 for (uint32_t i = 0 ; i < gptGfx -> get_frames_in_flight (); i ++ )
13931393 {
13941394 const plBufferDesc tPickBufferDesc = {
1395- .tUsage = PL_BUFFER_USAGE_STAGING | PL_BUFFER_USAGE_STORAGE ,
1395+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
13961396 .szByteSize = sizeof (uint32_t ) * 2 ,
13971397 .pcDebugName = "Picking buffer"
13981398 };
@@ -1977,7 +1977,7 @@ pl_renderer_load_skybox_from_panorama(plScene* ptScene, const char* pcPath, int
19771977 plBufferHandle atComputeBuffers [7 ] = {0 };
19781978 const uint32_t uPanoramaSize = iPanoramaHeight * iPanoramaWidth * 4 * sizeof (float );
19791979 const plBufferDesc tInputBufferDesc = {
1980- .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_STAGING ,
1980+ .tUsage = PL_BUFFER_USAGE_STORAGE ,
19811981 .szByteSize = uPanoramaSize ,
19821982 .pcDebugName = "panorama input buffer"
19831983 };
@@ -1988,7 +1988,7 @@ pl_renderer_load_skybox_from_panorama(plScene* ptScene, const char* pcPath, int
19881988 gptImage -> free (pfPanoramaData );
19891989
19901990 const plBufferDesc tOutputBufferDesc = {
1991- .tUsage = PL_BUFFER_USAGE_STORAGE ,
1991+ .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_TRANSFER_SOURCE ,
19921992 .szByteSize = uFaceSize ,
19931993 .pcDebugName = "panorama output buffer"
19941994 };
@@ -2408,7 +2408,7 @@ pl_renderer_finalize_scene(plScene* ptScene)
24082408 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~GPU Buffers~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24092409
24102410 const plBufferDesc tMaterialDataBufferDesc = {
2411- .tUsage = PL_BUFFER_USAGE_STORAGE ,
2411+ .tUsage = PL_BUFFER_USAGE_STORAGE | PL_BUFFER_USAGE_TRANSFER_DESTINATION ,
24122412 .szByteSize = sizeof (plGpuMaterial ) * ptScene -> uGPUMaterialBufferCapacity ,
24132413 .pcDebugName = "material buffer"
24142414 };
@@ -4483,7 +4483,7 @@ pl_renderer_begin_frame(void)
44834483 if (!gptGfx -> is_buffer_valid (ptDevice , tStagingBuffer ))
44844484 {
44854485 const plBufferDesc tStagingBufferDesc = {
4486- .tUsage = PL_BUFFER_USAGE_STAGING ,
4486+ .tUsage = PL_BUFFER_USAGE_TRANSFER_SOURCE ,
44874487 .szByteSize = 268435456 ,
44884488 .pcDebugName = "Renderer Staging Buffer"
44894489 };
0 commit comments