AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
AG903_PgpMgrGetVRAMInputHandle 関数

指定した数のVRAM入力ハンドル取得

Syntax
C++
int32_t AG903_PgpMgrGetVRAMInputHandle(int32_t num, AG903_PgpMgrVRAMInputHandle ** handles);
引数 
説明 
int32_t num 
[in] 取得するVRAM入力ハンドルの数を指定します。 
AG903_PgpMgrVRAMInputHandle ** handles 
[out] 取得したVRAM入力ハンドルを格納するポインタを指定します。 

取得結果

返値の詳細 
説明 
正常終了 
-AG903_EINVAL 
numに指定した数と、取得済のVRAM入力ハンドルの合計値が最大ハンドル数を超える場合
handlesにNULLが指定された場合 

VRAM入力のハンドルを取得します。

VRAM入力ハンドルの上限は、AG903_PGP_MGR_MAX_VRAMI_HANDLE となります。 

時分割動作無効の場合の上限は、AG903_PGP_MGR_VRAMI_NUM となります。

1: int32_t AG903_PgpMgrGetVRAMInputHandle(int32_t num, AG903_PgpMgrVRAMInputHandle **handles) 2: { 3: int i, j; 4: 5: 6: if (PgpContext.pipeline_time_sharing_enable == true) { 7: if ((num + PgpContext.num_vram_input_handles) > AG903_PGP_MGR_MAX_VRAMI_HANDLE) { 8: return -AG903_EINVAL; 9: } 10: } else { 11: if ((num + PgpContext.num_vram_input_handles) > AG903_PGP_MGR_VRAMI_NUM) { 12: return -AG903_EINVAL; 13: } 14: } 15: 16: if (handles == NULL) { 17: return -AG903_EINVAL; 18: } 19: 20: 21: for (i = 0; i < num; i++) { 22: for (j = 0; j < AG903_PGP_MGR_MAX_VRAMI_HANDLE; j++) { 23: if (PgpContext.vram_input_handles[j].is_used == false) { 24: 25: PgpMgrInitVRAMInputHandle(&PgpContext.vram_input_handles[j]); 26: 27: PgpContext.vram_input_handles[j].is_used = true; 28: PgpContext.vram_input_handles[j].id = AG903_PGP_MGR_VRAM_INPUT_HANDLE_ID; 29: handles[i] = &PgpContext.vram_input_handles[j]; 30: break; 31: } 32: } 33: } 34: 35: PgpContext.num_vram_input_handles += num; 36: 37: return AG903_ENONE; 38: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.