* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-#include "util/u_memory.h"
#include "util/u_format.h"
-#include "virgl_screen.h"
-#include "virgl_resource.h"
+#include "util/u_inlines.h"
+#include "util/u_memory.h"
+
#include "virgl_context.h"
+#include "virgl_resource.h"
+#include "virgl_screen.h"
static void virgl_copy_region_with_blit(struct pipe_context *pipe,
struct pipe_resource *dst,
{
struct virgl_context *vctx = virgl_context(ctx);
struct virgl_screen *vs = virgl_screen(ctx->screen);
- struct virgl_texture *vtex = (struct virgl_texture *)resource;
+ struct virgl_texture *vtex = virgl_texture(resource);
enum pipe_format format = resource->format;
struct virgl_transfer *trans;
void *ptr;
if (doflushwait)
ctx->flush(ctx, NULL, 0);
- trans = util_slab_alloc(&vctx->texture_transfer_pool);
- if (trans == NULL)
+ trans = slab_alloc(&vctx->texture_transfer_pool);
+ if (!trans)
return NULL;
trans->base.resource = resource;
struct pipe_transfer *transfer)
{
struct virgl_context *vctx = virgl_context(ctx);
- struct virgl_transfer *trans = (struct virgl_transfer *)transfer;
- struct virgl_texture *vtex = (struct virgl_texture *)transfer->resource;
+ struct virgl_transfer *trans = virgl_transfer(transfer);
+ struct virgl_texture *vtex = virgl_texture(transfer->resource);
uint32_t l_stride;
if (transfer->resource->target != PIPE_TEXTURE_3D &&
if (trans->resolve_tmp)
pipe_resource_reference((struct pipe_resource **)&trans->resolve_tmp, NULL);
- util_slab_free(&vctx->texture_transfer_pool, trans);
+ slab_free(&vctx->texture_transfer_pool, trans);
}
struct winsys_handle *whandle)
{
struct virgl_screen *vs = virgl_screen(screen);
- struct virgl_texture *vtex = (struct virgl_texture *)ptex;
+ struct virgl_texture *vtex = virgl_texture(ptex);
return vs->vws->resource_get_handle(vs->vws, vtex->base.hw_res, vtex->stride[0], whandle);
}
struct pipe_resource *res)
{
struct virgl_screen *vs = virgl_screen(screen);
- struct virgl_texture *vtex = (struct virgl_texture *)res;
+ struct virgl_texture *vtex = virgl_texture(res);
vs->vws->resource_unref(vs->vws, vtex->base.hw_res);
FREE(vtex);
}
virgl_texture_transfer_map, /* transfer_map */
NULL, /* transfer_flush_region */
virgl_texture_transfer_unmap, /* transfer_unmap */
- NULL /* transfer_inline_write */
};
struct pipe_resource *