0
Files
src/gpu/command_buffer/raster_cmd_buffer_functions.txt
William Liu 88a553387a [cc][gpu] Cache SkRuntimeEffect
For the GPU autogen, I ended up creating a parallel code path for
deleting the effects. Vasiliy mentioned that we could abstract the two
code paths together by declaring a PUTn/PUT type. For that type however
we need to specify a `count` [1], which I am not sure what the value
should be. Since the size of the `ids` is dynamic, it makes sense to let
DELn to dynamically figure it out.

[1] Ex: https://crsrc.org/c/gpu/command_buffer/build_raster_cmd_buffer.py;drc=18fa39fc95e269504ec61528660eddf428e993ab;l=177

Tested: Ran it on Mac and observe the cc.kSkRuntimeEffect_CacheHit event

Bug: 384532231
Low-Coverage-Reason: HARD_TO_TEST
Change-Id: I95eea1e46b8976fe12c3e558993caa056cddbcd2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6347015
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: William Liu <liuwilliam@chromium.org>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1434328}
2025-03-18 12:11:47 -07:00

46 lines
4.5 KiB
Plaintext

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file is read by build_raster_cmd_buffer.py to generate commands.
GL_APICALL void GL_APIENTRY glFinish (void);
GL_APICALL void GL_APIENTRY glFlush (void);
GL_APICALL GLenum GL_APIENTRY glGetError (void);
GL_APICALL void GL_APIENTRY glOrderingBarrierCHROMIUM (void);
GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizeiNotNegative n, GLuint* queries);
GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizeiNotNegative n, const GLuint* queries);
GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLidQuery id, GLenumQueryTarget target);
GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenumQueryTarget target, GLidQuery id);
GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenumQueryTarget target);
GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLidQuery id, GLenumQueryObjectParameter pname, GLuint* params);
GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLidQuery id, GLenumQueryObjectParameter pname, GLuint64* params);
// Non-GL commands.
GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM (GLenumResetStatus current, GLenumResetStatus other);
// Extension KHR_robustness
GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusKHR (void);
// Extension CHROMIUM_raster_transport
GL_APICALL void GL_APIENTRY glBeginRasterCHROMIUM (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLboolean needs_clear, GLuint msaa_sample_count, gpu::raster::MsaaMode msaa_mode, GLboolean can_use_lcd_text, GLboolean visible, GLfloat hdr_headroom, const GLbyte* mailbox);
GL_APICALL void GL_APIENTRY glRasterCHROMIUM (GLuint raster_shm_id, GLuint raster_shm_offset, GLuint raster_shm_size, GLuint font_shm_id, GLuint font_shm_offset, GLuint font_shm_size);
GL_APICALL void GL_APIENTRY glEndRasterCHROMIUM (void);
GL_APICALL void GL_APIENTRY glCreateTransferCacheEntryINTERNAL (GLuint entry_type, GLuint entry_id, GLuint handle_shm_id, GLuint handle_shm_offset, GLuint data_shm_id, GLuint data_shm_offset, GLuint data_size);
GL_APICALL void GL_APIENTRY glDeleteTransferCacheEntryINTERNAL (GLuint entry_type, GLuint entry_id);
GL_APICALL void GL_APIENTRY glUnlockTransferCacheEntryINTERNAL (GLuint entry_type, GLuint entry_id);
GL_APICALL void GL_APIENTRY glDeletePaintCachePathsINTERNAL (GLsizeiNotNegative n, const GLuint* ids);
GL_APICALL void GL_APIENTRY glDeletePaintCacheEffectsINTERNAL (GLsizeiNotNegative n, const GLuint* ids);
GL_APICALL void GL_APIENTRY glClearPaintCacheINTERNAL (void);
// TOOD(backer): Remove GL encoding. These are not GL functions.
// |mailboxes| argument is the concatenation of the source mailbox and the destination mailbox (32 bytes total)
GL_APICALL void GL_APIENTRY glCopySharedImageINTERNAL (GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height, const GLbyte* mailboxes);
GL_APICALL void GL_APIENTRY glWritePixelsINTERNAL (GLint x_offset, GLint y_offset, GLuint src_width, GLuint src_height, GLuint src_row_bytes, GLuint src_sk_color_type, GLuint src_sk_alpha_type, GLint shm_id, GLuint shm_offset, GLuint pixels_offset, const GLbyte* mailbox);
GL_APICALL void GL_APIENTRY glWritePixelsYUVINTERNAL (GLuint src_width, GLuint src_height, GLuint src_row_bytes_plane1, GLuint src_row_bytes_plane2, GLuint src_row_bytes_plane3, GLuint src_row_bytes_plane4, GLuint src_yuv_plane_config, GLuint src_yuv_subsampling, GLuint src_yuv_datatype, GLint shm_id, GLuint shm_offset, GLuint plane2_offset, GLuint plane3_offset, GLuint plane4_offset, const GLbyte* mailbox);
GL_APICALL void GL_APIENTRY glReadbackARGBImagePixelsINTERNAL (GLint src_x, GLint src_y, GLint plane_index, GLuint dst_width, GLuint dst_height, GLuint row_bytes, GLuint dst_sk_color_type, GLuint dst_sk_alpha_type, GLint shm_id, GLuint shm_offset, GLuint color_space_offset, GLuint pixels_offset, const GLbyte* mailbox);
GL_APICALL void GL_APIENTRY glReadbackYUVImagePixelsINTERNAL (GLuint dst_width, GLuint dst_height, GLint shm_id, GLuint shm_offset, GLuint y_offset, GLuint y_stride, GLuint u_offset, GLuint u_stride, GLuint v_offset, GLuint v_stride, const GLbyte* mailbox);
GL_APICALL void GL_APIENTRY glTraceBeginCHROMIUM (const char* category_name, const char* trace_name);
GL_APICALL void GL_APIENTRY glTraceEndCHROMIUM (void);
GL_APICALL void GL_APIENTRY glSetActiveURLCHROMIUM (const char* url);