1/* 2 * Copyright 2014, 2015 Red Hat. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * on the rights to use, copy, modify, merge, publish, distribute, sub 8 * license, and/or sell copies of the Software, and to permit persons to whom 9 * the Software is furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice (including the next 12 * paragraph) shall be included in all copies or substantial portions of the 13 * Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 18 * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, 19 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 20 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 21 * USE OR OTHER DEALINGS IN THE SOFTWARE. 22 */ 23#ifndef VTEST_PROTOCOL 24#define VTEST_PROTOCOL 25 26#define VTEST_DEFAULT_SOCKET_NAME "/tmp/.virgl_test" 27#define VTEST_PROTOCOL_VERSION 2 28 29/* 32-bit length field */ 30/* 32-bit cmd field */ 31#define VTEST_HDR_SIZE 2 32#define VTEST_CMD_LEN 0 /* length of data */ 33#define VTEST_CMD_ID 1 34#define VTEST_CMD_DATA_START 2 35 36/* vtest cmds */ 37#define VCMD_GET_CAPS 1 38 39#define VCMD_RESOURCE_CREATE 2 40#define VCMD_RESOURCE_UNREF 3 41 42#define VCMD_TRANSFER_GET 4 43#define VCMD_TRANSFER_PUT 5 44 45#define VCMD_SUBMIT_CMD 6 46 47#define VCMD_RESOURCE_BUSY_WAIT 7 48 49/* pass the process cmd line for debugging */ 50#define VCMD_CREATE_RENDERER 8 51 52#define VCMD_GET_CAPS2 9 53/* get caps */ 54/* 0 length cmd */ 55/* resp VCMD_GET_CAPS + caps */ 56 57#define VCMD_PING_PROTOCOL_VERSION 10 58 59#define VCMD_PROTOCOL_VERSION 11 60 61#define VCMD_RESOURCE_CREATE2 12 62#define VCMD_TRANSFER_GET2 13 63#define VCMD_TRANSFER_PUT2 14 64 65#define VCMD_RES_CREATE_SIZE 10 66#define VCMD_RES_CREATE_RES_HANDLE 0 67#define VCMD_RES_CREATE_TARGET 1 68#define VCMD_RES_CREATE_FORMAT 2 69#define VCMD_RES_CREATE_BIND 3 70#define VCMD_RES_CREATE_WIDTH 4 71#define VCMD_RES_CREATE_HEIGHT 5 72#define VCMD_RES_CREATE_DEPTH 6 73#define VCMD_RES_CREATE_ARRAY_SIZE 7 74#define VCMD_RES_CREATE_LAST_LEVEL 8 75#define VCMD_RES_CREATE_NR_SAMPLES 9 76 77#define VCMD_RES_CREATE2_SIZE 11 78#define VCMD_RES_CREATE2_RES_HANDLE 0 79#define VCMD_RES_CREATE2_TARGET 1 80#define VCMD_RES_CREATE2_FORMAT 2 81#define VCMD_RES_CREATE2_BIND 3 82#define VCMD_RES_CREATE2_WIDTH 4 83#define VCMD_RES_CREATE2_HEIGHT 5 84#define VCMD_RES_CREATE2_DEPTH 6 85#define VCMD_RES_CREATE2_ARRAY_SIZE 7 86#define VCMD_RES_CREATE2_LAST_LEVEL 8 87#define VCMD_RES_CREATE2_NR_SAMPLES 9 88#define VCMD_RES_CREATE2_DATA_SIZE 10 89 90#define VCMD_RES_UNREF_SIZE 1 91#define VCMD_RES_UNREF_RES_HANDLE 0 92 93#define VCMD_TRANSFER_HDR_SIZE 11 94#define VCMD_TRANSFER_RES_HANDLE 0 95#define VCMD_TRANSFER_LEVEL 1 96#define VCMD_TRANSFER_STRIDE 2 97#define VCMD_TRANSFER_LAYER_STRIDE 3 98#define VCMD_TRANSFER_X 4 99#define VCMD_TRANSFER_Y 5 100#define VCMD_TRANSFER_Z 6 101#define VCMD_TRANSFER_WIDTH 7 102#define VCMD_TRANSFER_HEIGHT 8 103#define VCMD_TRANSFER_DEPTH 9 104#define VCMD_TRANSFER_DATA_SIZE 10 105 106#define VCMD_TRANSFER2_HDR_SIZE 10 107#define VCMD_TRANSFER2_RES_HANDLE 0 108#define VCMD_TRANSFER2_LEVEL 1 109#define VCMD_TRANSFER2_X 2 110#define VCMD_TRANSFER2_Y 3 111#define VCMD_TRANSFER2_Z 4 112#define VCMD_TRANSFER2_WIDTH 5 113#define VCMD_TRANSFER2_HEIGHT 6 114#define VCMD_TRANSFER2_DEPTH 7 115#define VCMD_TRANSFER2_DATA_SIZE 8 116#define VCMD_TRANSFER2_OFFSET 9 117 118#define VCMD_BUSY_WAIT_FLAG_WAIT 1 119 120#define VCMD_BUSY_WAIT_SIZE 2 121#define VCMD_BUSY_WAIT_HANDLE 0 122#define VCMD_BUSY_WAIT_FLAGS 1 123 124#define VCMD_PING_PROTOCOL_VERSION_SIZE 1 125 126#define VCMD_PROTOCOL_VERSION_SIZE 1 127#define VCMD_PROTOCOL_VERSION_VERSION 0 128 129#endif 130