1 // Copyright (C) 2023 The Android Open Source Project
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 #include "Decoder.h"
16
17 #include "RenderThreadInfoMagma.h"
18
19 #if GFXSTREAM_MAGMA_USE_INTEL_DRM
20 #include "host/magma/IntelDrmDecoder.h"
21 #endif
22
23 namespace gfxstream {
24 namespace magma {
25
create(uint32_t context_id)26 std::unique_ptr<Decoder> Decoder::create(uint32_t context_id) {
27 #if GFXSTREAM_MAGMA_USE_INTEL_DRM
28 return IntelDrmDecoder::create(context_id);
29 #endif
30 return nullptr;
31 }
32
33 #define MAGMA_DECODER_BIND_METHOD(method) \
34 magma_server_context_t::method = [](auto... args) { \
35 auto decoder = RenderThreadInfoMagma::get() -> mMagmaDec.get(); \
36 return static_cast<decltype(this)>(decoder)->method(args...); \
37 }
38
Decoder()39 Decoder::Decoder() {
40 // Bind standard methods.
41 MAGMA_DECODER_BIND_METHOD(magma_device_import);
42 MAGMA_DECODER_BIND_METHOD(magma_device_release);
43 MAGMA_DECODER_BIND_METHOD(magma_device_query);
44 MAGMA_DECODER_BIND_METHOD(magma_device_create_connection);
45 MAGMA_DECODER_BIND_METHOD(magma_connection_release);
46 MAGMA_DECODER_BIND_METHOD(magma_connection_get_error);
47 MAGMA_DECODER_BIND_METHOD(magma_connection_create_context);
48 MAGMA_DECODER_BIND_METHOD(magma_connection_release_context);
49 MAGMA_DECODER_BIND_METHOD(magma_connection_create_buffer);
50 MAGMA_DECODER_BIND_METHOD(magma_connection_release_buffer);
51 MAGMA_DECODER_BIND_METHOD(magma_connection_import_buffer);
52 MAGMA_DECODER_BIND_METHOD(magma_connection_create_semaphore);
53 MAGMA_DECODER_BIND_METHOD(magma_connection_release_semaphore);
54 MAGMA_DECODER_BIND_METHOD(magma_connection_import_semaphore);
55 MAGMA_DECODER_BIND_METHOD(magma_connection_perform_buffer_op);
56 MAGMA_DECODER_BIND_METHOD(magma_connection_map_buffer);
57 MAGMA_DECODER_BIND_METHOD(magma_connection_unmap_buffer);
58 MAGMA_DECODER_BIND_METHOD(magma_connection_execute_command);
59 MAGMA_DECODER_BIND_METHOD(magma_connection_execute_immediate_commands);
60 MAGMA_DECODER_BIND_METHOD(magma_connection_flush);
61 MAGMA_DECODER_BIND_METHOD(magma_connection_get_notification_channel_handle);
62 MAGMA_DECODER_BIND_METHOD(magma_connection_read_notification_channel);
63 MAGMA_DECODER_BIND_METHOD(magma_buffer_clean_cache);
64 MAGMA_DECODER_BIND_METHOD(magma_buffer_set_cache_policy);
65 MAGMA_DECODER_BIND_METHOD(magma_buffer_get_cache_policy);
66 MAGMA_DECODER_BIND_METHOD(magma_buffer_set_name);
67 MAGMA_DECODER_BIND_METHOD(magma_buffer_get_info);
68 MAGMA_DECODER_BIND_METHOD(magma_buffer_get_handle);
69 MAGMA_DECODER_BIND_METHOD(magma_buffer_export);
70 MAGMA_DECODER_BIND_METHOD(magma_semaphore_signal);
71 MAGMA_DECODER_BIND_METHOD(magma_semaphore_reset);
72 MAGMA_DECODER_BIND_METHOD(magma_semaphore_export);
73 MAGMA_DECODER_BIND_METHOD(magma_poll);
74 MAGMA_DECODER_BIND_METHOD(magma_initialize_tracing);
75 MAGMA_DECODER_BIND_METHOD(magma_initialize_logging);
76 MAGMA_DECODER_BIND_METHOD(magma_connection_enable_performance_counter_access);
77 MAGMA_DECODER_BIND_METHOD(magma_connection_enable_performance_counters);
78 MAGMA_DECODER_BIND_METHOD(magma_connection_create_performance_counter_buffer_pool);
79 MAGMA_DECODER_BIND_METHOD(magma_connection_release_performance_counter_buffer_pool);
80 MAGMA_DECODER_BIND_METHOD(magma_connection_add_performance_counter_buffer_offsets_to_pool);
81 MAGMA_DECODER_BIND_METHOD(magma_connection_remove_performance_counter_buffer_from_pool);
82 MAGMA_DECODER_BIND_METHOD(magma_connection_dump_performance_counters);
83 MAGMA_DECODER_BIND_METHOD(magma_connection_clear_performance_counters);
84 MAGMA_DECODER_BIND_METHOD(magma_connection_read_performance_counter_completion);
85 MAGMA_DECODER_BIND_METHOD(magma_virt_connection_create_image);
86 MAGMA_DECODER_BIND_METHOD(magma_virt_connection_get_image_info);
87
88 // Bind fudged methods.
89 MAGMA_DECODER_BIND_METHOD(magma_device_query_fudge);
90 MAGMA_DECODER_BIND_METHOD(magma_connection_execute_command_fudge);
91 MAGMA_DECODER_BIND_METHOD(magma_connection_execute_immediate_commands_fudge);
92 MAGMA_DECODER_BIND_METHOD(magma_buffer_set_name_fudge);
93 }
94
95 #define MAGMA_NOTIMPL() WARN("magma::Decoder method not implemented: %s", __FUNCTION__)
96
magma_device_import(magma_handle_t device_channel,magma_device_t * device_out)97 magma_status_t Decoder::magma_device_import(magma_handle_t device_channel,
98 magma_device_t* device_out) {
99 MAGMA_NOTIMPL();
100 return MAGMA_STATUS_UNIMPLEMENTED;
101 }
102
magma_device_release(magma_device_t device)103 void Decoder::magma_device_release(magma_device_t device) { MAGMA_NOTIMPL(); }
104
magma_device_query(magma_device_t device,uint64_t id,magma_handle_t * result_buffer_out,uint64_t * result_out)105 magma_status_t Decoder::magma_device_query(magma_device_t device, uint64_t id,
106 magma_handle_t* result_buffer_out,
107 uint64_t* result_out) {
108 MAGMA_NOTIMPL();
109 return MAGMA_STATUS_UNIMPLEMENTED;
110 }
111
magma_device_create_connection(magma_device_t device,magma_connection_t * connection_out)112 magma_status_t Decoder::magma_device_create_connection(magma_device_t device,
113 magma_connection_t* connection_out) {
114 MAGMA_NOTIMPL();
115 return MAGMA_STATUS_UNIMPLEMENTED;
116 }
117
magma_connection_release(magma_connection_t connection)118 void Decoder::magma_connection_release(magma_connection_t connection) { MAGMA_NOTIMPL(); }
119
magma_connection_get_error(magma_connection_t connection)120 magma_status_t Decoder::magma_connection_get_error(magma_connection_t connection) {
121 MAGMA_NOTIMPL();
122 return MAGMA_STATUS_UNIMPLEMENTED;
123 }
124
magma_connection_create_context(magma_connection_t connection,uint32_t * context_id_out)125 magma_status_t Decoder::magma_connection_create_context(magma_connection_t connection,
126 uint32_t* context_id_out) {
127 MAGMA_NOTIMPL();
128 return MAGMA_STATUS_UNIMPLEMENTED;
129 }
130
magma_connection_release_context(magma_connection_t connection,uint32_t context_id)131 void Decoder::magma_connection_release_context(magma_connection_t connection, uint32_t context_id) {
132 MAGMA_NOTIMPL();
133 }
134
magma_connection_create_buffer(magma_connection_t connection,uint64_t size,uint64_t * size_out,magma_buffer_t * buffer_out,magma_buffer_id_t * id_out)135 magma_status_t Decoder::magma_connection_create_buffer(magma_connection_t connection, uint64_t size,
136 uint64_t* size_out,
137 magma_buffer_t* buffer_out,
138 magma_buffer_id_t* id_out) {
139 MAGMA_NOTIMPL();
140 return MAGMA_STATUS_UNIMPLEMENTED;
141 }
142
magma_connection_release_buffer(magma_connection_t connection,magma_buffer_t buffer)143 void Decoder::magma_connection_release_buffer(magma_connection_t connection,
144 magma_buffer_t buffer) {
145 MAGMA_NOTIMPL();
146 }
147
magma_connection_import_buffer(magma_connection_t connection,magma_handle_t buffer_handle,uint64_t * size_out,magma_buffer_t * buffer_out,magma_buffer_id_t * id_out)148 magma_status_t Decoder::magma_connection_import_buffer(magma_connection_t connection,
149 magma_handle_t buffer_handle,
150 uint64_t* size_out,
151 magma_buffer_t* buffer_out,
152 magma_buffer_id_t* id_out) {
153 MAGMA_NOTIMPL();
154 return MAGMA_STATUS_UNIMPLEMENTED;
155 }
156
magma_connection_create_semaphore(magma_connection_t magma_connection,magma_semaphore_t * semaphore_out,magma_semaphore_id_t * id_out)157 magma_status_t Decoder::magma_connection_create_semaphore(magma_connection_t magma_connection,
158 magma_semaphore_t* semaphore_out,
159 magma_semaphore_id_t* id_out) {
160 MAGMA_NOTIMPL();
161 return MAGMA_STATUS_UNIMPLEMENTED;
162 }
163
magma_connection_release_semaphore(magma_connection_t connection,magma_semaphore_t semaphore)164 void Decoder::magma_connection_release_semaphore(magma_connection_t connection,
165 magma_semaphore_t semaphore) {
166 MAGMA_NOTIMPL();
167 }
168
magma_connection_import_semaphore(magma_connection_t connection,magma_handle_t semaphore_handle,magma_semaphore_t * semaphore_out,magma_semaphore_id_t * id_out)169 magma_status_t Decoder::magma_connection_import_semaphore(magma_connection_t connection,
170 magma_handle_t semaphore_handle,
171 magma_semaphore_t* semaphore_out,
172 magma_semaphore_id_t* id_out) {
173 MAGMA_NOTIMPL();
174 return MAGMA_STATUS_UNIMPLEMENTED;
175 }
176
magma_connection_perform_buffer_op(magma_connection_t connection,magma_buffer_t buffer,uint32_t options,uint64_t start_offset,uint64_t length)177 magma_status_t Decoder::magma_connection_perform_buffer_op(magma_connection_t connection,
178 magma_buffer_t buffer, uint32_t options,
179 uint64_t start_offset, uint64_t length) {
180 MAGMA_NOTIMPL();
181 return MAGMA_STATUS_UNIMPLEMENTED;
182 }
183
magma_connection_map_buffer(magma_connection_t connection,uint64_t hw_va,magma_buffer_t buffer,uint64_t offset,uint64_t length,uint64_t map_flags)184 magma_status_t Decoder::magma_connection_map_buffer(magma_connection_t connection, uint64_t hw_va,
185 magma_buffer_t buffer, uint64_t offset,
186 uint64_t length, uint64_t map_flags) {
187 MAGMA_NOTIMPL();
188 return MAGMA_STATUS_UNIMPLEMENTED;
189 }
190
magma_connection_unmap_buffer(magma_connection_t connection,uint64_t hw_va,magma_buffer_t buffer)191 void Decoder::magma_connection_unmap_buffer(magma_connection_t connection, uint64_t hw_va,
192 magma_buffer_t buffer) {
193 MAGMA_NOTIMPL();
194 }
195
magma_connection_execute_command(magma_connection_t connection,uint32_t context_id,magma_command_descriptor_t * descriptor)196 magma_status_t Decoder::magma_connection_execute_command(magma_connection_t connection,
197 uint32_t context_id,
198 magma_command_descriptor_t* descriptor) {
199 MAGMA_NOTIMPL();
200 return MAGMA_STATUS_UNIMPLEMENTED;
201 }
202
magma_connection_execute_immediate_commands(magma_connection_t connection,uint32_t context_id,uint64_t command_count,magma_inline_command_buffer_t * command_buffers)203 magma_status_t Decoder::magma_connection_execute_immediate_commands(
204 magma_connection_t connection, uint32_t context_id, uint64_t command_count,
205 magma_inline_command_buffer_t* command_buffers) {
206 MAGMA_NOTIMPL();
207 return MAGMA_STATUS_UNIMPLEMENTED;
208 }
209
magma_connection_flush(magma_connection_t connection)210 magma_status_t Decoder::magma_connection_flush(magma_connection_t connection) {
211 MAGMA_NOTIMPL();
212 return MAGMA_STATUS_UNIMPLEMENTED;
213 }
214
magma_connection_get_notification_channel_handle(magma_connection_t connection)215 magma_handle_t Decoder::magma_connection_get_notification_channel_handle(
216 magma_connection_t connection) {
217 MAGMA_NOTIMPL();
218 return MAGMA_STATUS_UNIMPLEMENTED;
219 }
220
magma_connection_read_notification_channel(magma_connection_t connection,void * buffer,uint64_t buffer_size,uint64_t * buffer_size_out,magma_bool_t * more_data_out)221 magma_status_t Decoder::magma_connection_read_notification_channel(magma_connection_t connection,
222 void* buffer,
223 uint64_t buffer_size,
224 uint64_t* buffer_size_out,
225 magma_bool_t* more_data_out) {
226 MAGMA_NOTIMPL();
227 return MAGMA_STATUS_UNIMPLEMENTED;
228 }
229
magma_buffer_clean_cache(magma_buffer_t buffer,uint64_t offset,uint64_t size,magma_cache_operation_t operation)230 magma_status_t Decoder::magma_buffer_clean_cache(magma_buffer_t buffer, uint64_t offset,
231 uint64_t size, magma_cache_operation_t operation) {
232 MAGMA_NOTIMPL();
233 return MAGMA_STATUS_UNIMPLEMENTED;
234 }
235
magma_buffer_set_cache_policy(magma_buffer_t buffer,magma_cache_policy_t policy)236 magma_status_t Decoder::magma_buffer_set_cache_policy(magma_buffer_t buffer,
237 magma_cache_policy_t policy) {
238 MAGMA_NOTIMPL();
239 return MAGMA_STATUS_UNIMPLEMENTED;
240 }
241
magma_buffer_get_cache_policy(magma_buffer_t buffer,magma_cache_policy_t * cache_policy_out)242 magma_status_t Decoder::magma_buffer_get_cache_policy(magma_buffer_t buffer,
243 magma_cache_policy_t* cache_policy_out) {
244 MAGMA_NOTIMPL();
245 return MAGMA_STATUS_UNIMPLEMENTED;
246 }
247
magma_buffer_set_name(magma_buffer_t buffer,const char * name)248 magma_status_t Decoder::magma_buffer_set_name(magma_buffer_t buffer, const char* name) {
249 MAGMA_NOTIMPL();
250 return MAGMA_STATUS_UNIMPLEMENTED;
251 }
252
magma_buffer_get_info(magma_buffer_t buffer,magma_buffer_info_t * info_out)253 magma_status_t Decoder::magma_buffer_get_info(magma_buffer_t buffer,
254 magma_buffer_info_t* info_out) {
255 MAGMA_NOTIMPL();
256 return MAGMA_STATUS_UNIMPLEMENTED;
257 }
258
magma_buffer_get_handle(magma_buffer_t buffer,magma_handle_t * handle_out)259 magma_status_t Decoder::magma_buffer_get_handle(magma_buffer_t buffer, magma_handle_t* handle_out) {
260 MAGMA_NOTIMPL();
261 return MAGMA_STATUS_UNIMPLEMENTED;
262 }
263
magma_buffer_export(magma_buffer_t buffer,magma_handle_t * buffer_handle_out)264 magma_status_t Decoder::magma_buffer_export(magma_buffer_t buffer,
265 magma_handle_t* buffer_handle_out) {
266 MAGMA_NOTIMPL();
267 return MAGMA_STATUS_UNIMPLEMENTED;
268 }
269
magma_semaphore_signal(magma_semaphore_t semaphore)270 void Decoder::magma_semaphore_signal(magma_semaphore_t semaphore) { MAGMA_NOTIMPL(); }
271
magma_semaphore_reset(magma_semaphore_t semaphore)272 void Decoder::magma_semaphore_reset(magma_semaphore_t semaphore) { MAGMA_NOTIMPL(); }
273
magma_semaphore_export(magma_semaphore_t semaphore,magma_handle_t * semaphore_handle_out)274 magma_status_t Decoder::magma_semaphore_export(magma_semaphore_t semaphore,
275 magma_handle_t* semaphore_handle_out) {
276 MAGMA_NOTIMPL();
277 return MAGMA_STATUS_UNIMPLEMENTED;
278 }
279
magma_poll(magma_poll_item_t * items,uint32_t count,uint64_t timeout_ns)280 magma_status_t Decoder::magma_poll(magma_poll_item_t* items, uint32_t count, uint64_t timeout_ns) {
281 MAGMA_NOTIMPL();
282 return MAGMA_STATUS_UNIMPLEMENTED;
283 }
284
magma_initialize_tracing(magma_handle_t channel)285 magma_status_t Decoder::magma_initialize_tracing(magma_handle_t channel) {
286 MAGMA_NOTIMPL();
287 return MAGMA_STATUS_UNIMPLEMENTED;
288 }
289
magma_initialize_logging(magma_handle_t channel)290 magma_status_t Decoder::magma_initialize_logging(magma_handle_t channel) {
291 MAGMA_NOTIMPL();
292 return MAGMA_STATUS_UNIMPLEMENTED;
293 }
294
magma_connection_enable_performance_counter_access(magma_connection_t connection,magma_handle_t channel)295 magma_status_t Decoder::magma_connection_enable_performance_counter_access(
296 magma_connection_t connection, magma_handle_t channel) {
297 MAGMA_NOTIMPL();
298 return MAGMA_STATUS_UNIMPLEMENTED;
299 }
300
magma_connection_enable_performance_counters(magma_connection_t connection,uint64_t * counters,uint64_t counters_count)301 magma_status_t Decoder::magma_connection_enable_performance_counters(magma_connection_t connection,
302 uint64_t* counters,
303 uint64_t counters_count) {
304 MAGMA_NOTIMPL();
305 return MAGMA_STATUS_UNIMPLEMENTED;
306 }
307
magma_connection_create_performance_counter_buffer_pool(magma_connection_t connection,magma_perf_count_pool_t * pool_id_out,magma_handle_t * notification_handle_out)308 magma_status_t Decoder::magma_connection_create_performance_counter_buffer_pool(
309 magma_connection_t connection, magma_perf_count_pool_t* pool_id_out,
310 magma_handle_t* notification_handle_out) {
311 MAGMA_NOTIMPL();
312 return MAGMA_STATUS_UNIMPLEMENTED;
313 }
314
magma_connection_release_performance_counter_buffer_pool(magma_connection_t connection,magma_perf_count_pool_t pool_id)315 magma_status_t Decoder::magma_connection_release_performance_counter_buffer_pool(
316 magma_connection_t connection, magma_perf_count_pool_t pool_id) {
317 MAGMA_NOTIMPL();
318 return MAGMA_STATUS_UNIMPLEMENTED;
319 }
320
magma_connection_add_performance_counter_buffer_offsets_to_pool(magma_connection_t connection,magma_perf_count_pool_t pool_id,const magma_buffer_offset_t * offsets,uint64_t offsets_count)321 magma_status_t Decoder::magma_connection_add_performance_counter_buffer_offsets_to_pool(
322 magma_connection_t connection, magma_perf_count_pool_t pool_id,
323 const magma_buffer_offset_t* offsets, uint64_t offsets_count) {
324 MAGMA_NOTIMPL();
325 return MAGMA_STATUS_UNIMPLEMENTED;
326 }
327
magma_connection_remove_performance_counter_buffer_from_pool(magma_connection_t connection,magma_perf_count_pool_t pool_id,magma_buffer_t buffer)328 magma_status_t Decoder::magma_connection_remove_performance_counter_buffer_from_pool(
329 magma_connection_t connection, magma_perf_count_pool_t pool_id, magma_buffer_t buffer) {
330 MAGMA_NOTIMPL();
331 return MAGMA_STATUS_UNIMPLEMENTED;
332 }
333
magma_connection_dump_performance_counters(magma_connection_t connection,magma_perf_count_pool_t pool_id,uint32_t trigger_id)334 magma_status_t Decoder::magma_connection_dump_performance_counters(magma_connection_t connection,
335 magma_perf_count_pool_t pool_id,
336 uint32_t trigger_id) {
337 MAGMA_NOTIMPL();
338 return MAGMA_STATUS_UNIMPLEMENTED;
339 }
340
magma_connection_clear_performance_counters(magma_connection_t connection,uint64_t * counters,uint64_t counters_count)341 magma_status_t Decoder::magma_connection_clear_performance_counters(magma_connection_t connection,
342 uint64_t* counters,
343 uint64_t counters_count) {
344 MAGMA_NOTIMPL();
345 return MAGMA_STATUS_UNIMPLEMENTED;
346 }
347
magma_connection_read_performance_counter_completion(magma_connection_t connection,magma_perf_count_pool_t pool_id,uint32_t * trigger_id_out,uint64_t * buffer_id_out,uint32_t * buffer_offset_out,uint64_t * time_out,uint32_t * result_flags_out)348 magma_status_t Decoder::magma_connection_read_performance_counter_completion(
349 magma_connection_t connection, magma_perf_count_pool_t pool_id, uint32_t* trigger_id_out,
350 uint64_t* buffer_id_out, uint32_t* buffer_offset_out, uint64_t* time_out,
351 uint32_t* result_flags_out) {
352 MAGMA_NOTIMPL();
353 return MAGMA_STATUS_UNIMPLEMENTED;
354 }
355
magma_virt_connection_create_image(magma_connection_t connection,magma_image_create_info_t * create_info,uint64_t * size_out,magma_buffer_t * image_out,magma_buffer_id_t * buffer_id_out)356 magma_status_t Decoder::magma_virt_connection_create_image(magma_connection_t connection,
357 magma_image_create_info_t* create_info,
358 uint64_t* size_out,
359 magma_buffer_t* image_out,
360 magma_buffer_id_t* buffer_id_out) {
361 MAGMA_NOTIMPL();
362 return MAGMA_STATUS_UNIMPLEMENTED;
363 }
364
magma_virt_connection_get_image_info(magma_connection_t connection,magma_buffer_t image,magma_image_info_t * image_info_out)365 magma_status_t Decoder::magma_virt_connection_get_image_info(magma_connection_t connection,
366 magma_buffer_t image,
367 magma_image_info_t* image_info_out) {
368 MAGMA_NOTIMPL();
369 return MAGMA_STATUS_UNIMPLEMENTED;
370 }
371
magma_device_query_fudge(magma_device_t device,uint64_t id,magma_bool_t host_allocate,uint64_t * result_buffer_mapping_id_inout,uint64_t * result_buffer_size_inout,uint64_t * result_out)372 magma_status_t Decoder::magma_device_query_fudge(magma_device_t device, uint64_t id,
373 magma_bool_t host_allocate,
374 uint64_t* result_buffer_mapping_id_inout,
375 uint64_t* result_buffer_size_inout,
376 uint64_t* result_out) {
377 MAGMA_NOTIMPL();
378 return MAGMA_STATUS_UNIMPLEMENTED;
379 }
380
magma_connection_execute_command_fudge(magma_connection_t connection,uint32_t context_id,void * descriptor,uint64_t descriptor_size)381 magma_status_t Decoder::magma_connection_execute_command_fudge(magma_connection_t connection,
382 uint32_t context_id,
383 void* descriptor,
384 uint64_t descriptor_size) {
385 MAGMA_NOTIMPL();
386 return MAGMA_STATUS_UNIMPLEMENTED;
387 }
388
magma_connection_execute_immediate_commands_fudge(magma_connection_t connection,uint32_t context_id,uint64_t command_count,void * command_buffers,uint64_t command_buffers_size,uint64_t * command_buffer_offsets)389 magma_status_t Decoder::magma_connection_execute_immediate_commands_fudge(
390 magma_connection_t connection, uint32_t context_id, uint64_t command_count,
391 void* command_buffers, uint64_t command_buffers_size, uint64_t* command_buffer_offsets) {
392 MAGMA_NOTIMPL();
393 return MAGMA_STATUS_UNIMPLEMENTED;
394 }
395
magma_buffer_set_name_fudge(magma_buffer_t buffer,void * name,uint64_t name_size)396 magma_status_t Decoder::magma_buffer_set_name_fudge(magma_buffer_t buffer, void* name,
397 uint64_t name_size) {
398 MAGMA_NOTIMPL();
399 return MAGMA_STATUS_UNIMPLEMENTED;
400 }
401
402 } // namespace magma
403 } // namespace gfxstream
404