[magma] Add device query fudge method

This change adds a magma_device_query_fudge method to the magma
protocol, allowing direct use of mapping IDs. It also allows
use of guest-allocated buffers.

This change also expands the protocol README file to document
how each fudge method differs from its standard counterpart.

Bug: b/277219980
Bug: b/272307395

Test: m libgfxstream_backend
Change-Id: Iea6bb79346668ce4dc5af76518a179f776d65434
diff --git a/protocols/magma/magma.in b/protocols/magma/magma.in
index b76a669..41727c3 100644
--- a/protocols/magma/magma.in
+++ b/protocols/magma/magma.in
@@ -1,6 +1,7 @@
 MAGMA(magma_status_t, magma_device_import, magma_handle_t device_channel, magma_device_t* device_out)
 MAGMA(void, magma_device_release, magma_device_t device)
 MAGMA(magma_status_t, magma_device_query, magma_device_t device, uint64_t id, magma_handle_t* result_buffer_out, uint64_t* result_out)
+MAGMA(magma_status_t, 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)
 MAGMA(magma_status_t, magma_device_create_connection, magma_device_t device, magma_connection_t* connection_out)
 MAGMA(void, magma_connection_release, magma_connection_t connection)
 MAGMA(magma_status_t, magma_connection_get_error, magma_connection_t connection)