* USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#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_buffer_destroy(struct pipe_screen *screen,
struct pipe_resource *buf)
const struct pipe_box *box,
struct pipe_transfer **transfer)
{
- struct virgl_context *vctx = (struct virgl_context *)ctx;
+ struct virgl_context *vctx = virgl_context(ctx);
struct virgl_screen *vs = virgl_screen(ctx->screen);
struct virgl_buffer *vbuf = virgl_buffer(resource);
struct virgl_transfer *trans;
ctx->flush(ctx, NULL, 0);
trans = util_slab_alloc(&vctx->texture_transfer_pool);
- if (trans == NULL)
+ if (!trans)
return NULL;
trans->base.resource = resource;
static void virgl_buffer_transfer_unmap(struct pipe_context *ctx,
struct pipe_transfer *transfer)
{
- struct virgl_context *vctx = (struct virgl_context *)ctx;
- struct virgl_transfer *trans = (struct virgl_transfer *)transfer;
+ struct virgl_context *vctx = virgl_context(ctx);
+ struct virgl_transfer *trans = virgl_transfer(transfer);
struct virgl_buffer *vbuf = virgl_buffer(transfer->resource);
if (trans->base.usage & PIPE_TRANSFER_WRITE) {
struct pipe_transfer *transfer,
const struct pipe_box *box)
{
- struct virgl_context *vctx = (struct virgl_context *)ctx;
+ struct virgl_context *vctx = virgl_context(ctx);
struct virgl_buffer *vbuf = virgl_buffer(transfer->resource);
if (!vbuf->on_list) {