[gtk] (493 commits) Non-fast-forward update to branch wip/chergert/glproto



The branch 'wip/chergert/glproto' was changed in a way that was not a fast-forward update.
NOTE: This may cause problems for people pulling from the branch. For more information,
please see:

 https://wiki.gnome.org/Git/Help/NonFastForward

Commits removed from the branch:

  8db381e... stub out prototype bits for different GL renderer design
  a73025b... add clear helper
  24333d1... setup texture library frame ends
  9365fa6... setup modelview stack
  f7972e7... start bringing over some of the modelview bits
  dd0cda2... cleanup offset handling
  9d63050... transform can be null
  32275d1... add renderer to test utils
  5798ce2... break job into a prepare and render phase
  67446de... add execute func
  39174d5... setup command queue before libraries
  f6a6410... add viewport hook
  a2f7946... stub out job render a bit
  5a6aff8... check clip before visiting node
  a7f2887... always keep a node in the all_queue
  85ae426... start on more memory friendly version of command queue
  32c7cc7... reset arrays on end frame
  4dc0f89... ensure clear call is done inside of frame begin/end
  ec33d0e... sketch out some real basics for drawing
  b78ba94... apply framebuffer from clear command
  9c76455... use shorts for WxH of viewport within batch
  2853f95... use union to make batch size smaller
  2731c87... handle initial state for uniform info
  24ba407... only setup viewport uniform if location is > -1
  0f411d9... mark queue as in draw
  1c1429d... viewport is changed now
  a248899... give more information about uniform failure
  3b8c78a... always allocate some space
  9cbeb85... wrap matrix setter
  add72b5... add some precondition checks
  7dae7d9... cache commonly used location at known offset
  2af8f28... setup matrix uniform for modelview
  74f714b... fix batch tail ordering
  5ac6658... check max texture size when starting a frame
  9e0b297... only set viewport once
  6f65eea... DRY viewport change
  36922f3... change program for draw batches
  5d04164... cleanup style, more asserts
  dc5b6c9... set initial state to FALSE
  230da3d... more assertions
  8a713da... fix alignment of uniform sizes
  9b64657... remove extra bind sets
  a096f7b... style cleanup
  039a02c... start with scissor disabled
  10f8257... use bitfields instead of flags
  fcdf82d... mark some costly things as unlikely
  abe3ae7... better naming
  5a5d9d6... detach shader before deleting
  f798811... use array instead of hashtable
  0bdff2b... only change framebuffer if non-zero
  b5a1f31... some cleanup
  3699bfc... fix shader suffix
  663a587... add some debug helpers
  e21d50c... use aUv not vUv
  a92de30... be safer about clearing things even if we error
  78a69d0... setup clip for color node
  7c61c0d... setup clip rect as part of starting draw
  f24dbc5... make program uniform setting passthrough
  f2f5a1b... implement linear gradient node
  e37d51e... cleanup
  4cd19c7... remove helpers
  7984c3a... extract out of jump table
  f72a637... stub out fallback
  6e04082... bring over transform check
  2675a70... stub out simple transform nodes
  9d36140... start on clipping
  f48d8ff... fix program
  dbe1c54... start on basic rounded clip
  59e89f7... clear uniform state to zero when expanding
  3352024... start on border node
  8c58e84... add renderer to node-editor
  58da594... ensure we've loaded max texture size
  3917f50... make current before deleting program
  c755a98... handle clip more gracefully
  6c87d39... error harder
  0371599... cleanup assertions
  08bff26... set uniform initial state bit when resizing
  2d94e7a... copy clip to avoid invalidation by visiting other nodes
  2ac98a9... only do one memset
  18b9f91... remove debug code
  89eea5a... more assertions
  b413e92... increase alignment for dynamic uniform state
  9c9bfa8... add 4fv wrapper
  37875e1... borders program
  6431427... reduce overhead for setting uniforms
  85aab05... implement unblurred inset shadow
  fc835dc... fix typo in program indexes
  66561a3... add gsk_gl_render_job_draw() with float variant
  06d4793... implement unblurred outset shadow
  69f971a... discard batches with no draws
  78b7e98... cleanup style
  4ad4a16... implement conic gradient
  bed6593... add alpha location
  2d31edc... stub out offscreen draw
  4016a00... implement cross fade node
  8b3c390... avoid some locals
  d741a94... add offscreen draw helper
  7237b42... render opacity nodes
  0334fa7... move autorelease semantics to driver
  1457a69... update copyright
  5d1bb9d... stub out some texture api in driver
  68c2860... implement texture collection w/o double iteration
  0cec02b... start on texture loading
  ceb7c2a... implement uploading from command queue
  4fc3795... update copyright
  c50e60f... stub out more nodes
  8042fbc... stub out other nodes
  95eafa9... more stubs
  faf6cef... add texture pool
  defd23c... fix typo
  9b98872... cleanup texturing code in driver
  f698b35... fix some warnings
  d55def6... add documentation
  a80cd26... stub out some more texture interactions
  3d1024e... ideate around offscreen
  536f1fd... simplify with some macros
  b6b160f... fill area on loading
  36d4469... stub out library upload/lookup hooks
  4469f55... fix scale
  a21e5d4... cleanup style
  2b07261... helper to dump framebuffer after each batch
  a856019... make inline to avoid warning
  ed38986... fix viewport size changes
  a6fb1cd... clear in_draw when discarding batch
  c602555... style cleanup
  68d8ac2... add flipped rendering
  c37dc4d... include offset for linear gradient
  f73b3e8... match fv variants to uniform kinds
  0582b37... make sure we don't leave this out
  786d049... transform rounded rect for uniform border
  8b35296... use rounded rect
  acfb77f... stub out fallback drawing
  4496bbf... offscreen cleanup
  bab23c0... more texture upload, vertices work
  3ad4c7b... fix warning
  1e4de71... fix typo
  fcd3424... more offscreen rendering work
  bb23661... improve clipped child drawing w/ offscreen
  1a90672... add missing bounds
  44a011d... move lower near other public funcs
  2d56696... more offscreen drawing work
  c9af351... fix typo
  90b6623... fix flip based on offscreen
  5027511... repeat node
  86618d7... color matrix node
  cfe8e90... implement radial gradient
  679964a... set cairo/repeating gradients as fallback
  2fea984... implement blend node
  001b075... implement basics of blur node/texture
  985a347... some blur tweaks
  61f6127... make header as private
  ef01958... add render target abstraction
  f0df8c0... make autorelease framebuffer private
  cdf837f... use single frame caching for now
  e2b69b6... style cleanup
  e5a79ba... blurred inset shadows
  96d49eb... improve cleanup state of framebuffers
  3c33324... add design doc
  d8707c1... Add next to GSK_RENDERER=help output
  030bf3d... xxx: Fix a typo
  60ec57a... Hook up fallback debugging
  e9e6686... add shader loading (and unloading) to driver
  04c6ce0... implement more complex category for transforms
  954abab... add some missing uniform setters/types
  24bc74f... pass error along
  9fdf832... allow -1 for a failure program
  1a5a06b... start on shader nodes
  9b7543e... wire up attributes and shared uniforms
  8fffc6d... move fallback out of shader node
  0fef4af... implement shadow node
  ec86e8d... stub out blurred outset shadow
  aae50eb... fix assertion
  588d7bf... initial work on glyph cache
  026f22f... start on texture atlasing plumbing from driver to libraries
  360cc9e... fix positioning of glyphs
  7c97534... flesh out glyph uploads a bit
  a042051... skip if no texture to render
  020fb9d... add helper to dump atlas contents
  73c0043... implement basics for icon library
  6fa4326... set max size for icon library
  dce2b02... add helper to check cachability
  e77adbc... fix width/height calculation within atlas
  5168347... start on texture node
  2cfca8b... fix rouneded rect transform
  454566c... simple batch merging
  86fdebb... ignore texture changes to 0
  22d2db3... return false when texture id is 0
  956a7cf... add check for valid entry size
  a94901d... add texture and vertices for color matrix
  21e261d... remove unused code
  3120d51... fix pack position in icon cache
  5211e6e... use glyph cache for small textures
  ebe0661... debug atlas content after uploads but before commands
  14fc41a... add debug printf for uniform locations
  0ef4b42... always do inital set of texture slot
  5691168... fix offscreen bounds
  439c924... add some assertions
  626c009... use macro helper
  a123f27... apply scissor clip while processing fbo changes
  4e68346... cleanup has-clip check
  2104d7b... fix early return for rounded clip node
  c96b109... cleanup texture state when freeing
  69e60ac... document renderjob internals a bit
  c177fa6... start on sharing driver instance across renderers
  0f9bf02... ensure context before atlas uploads
  69d8ff9... get max_texture_size immediately on creation
  5bc57ee... allow for multiple command queues with shared state
  ed2a1db... some todo items
  60073a4... dont share attachments
  ecebf20... reset texture attachments when ending frame
  cac108f... avoid save/restore of attachment state
  f098551... use floats for comparison
  4e52076... fix alpha when only drawing cross-fade end node
  3365691... actually draw the cross fade
  2db4354... fix uniform format
  d7939bd... add assertions
  c2c4c64... use previous frame to determine new buffer size
  c63090a... check for valid uniform format
  c1ee0aa... unlikely but check anyway
  811a475... fix texture location for blend op
  d5bf090... avoid extra copy of rounded rect
  58c0555... ensure our send_corner state is correct
  667744a... only clear corner state
  6079faa... more assertions
  827eb4d... check corner state before replacing uniform pointer
  096e674... begin draw before changing uniforms
  8d82393... fix whitespace
  c45ba75... more assertions
  90ae6dc... keep program const
  68353bb... reset uniform flags
  4a36dc1... use initial field to force sending corners
  c7b1bf8... check initial flag and count in setters
  cf5113c... check more initial state in comparisons
  a47b460... track if we're in a frame
  cd914c3... move texture cleanup to pooling code
  eff34ed... collect textures from previous frame
  2121b56... fix warning and more assertions
  4642c6e... add some debug code
  b758103... make sure we track gl texture lifecycle
  4d18b5a... free textures back into the texture pool
  811fafe... testsuite: Add next renderer to gsk tests
  4d00f4e... port to new gradient code
  0536546... use inlined rect_contains_rect
  6def9ac... use inlined memcmp for rounded rect comparison
  1d433d4... use offscreen to flip-y, similar to gl renderer
  06846bc... port over texture slicing
  d66384d... add missing bit about main()
  27d587c... implement texture slicing in texture node
  a2bebb1... update todo
  a391455... only reset changed textures
  c4447dd... add shadow library
  ba2a652... fix texture lifecycle management
  3156cd4... implement non-sliced shadows
  cf7cc7a... add nine slicing helpers
  18bd708... cleanup simple case drawing
  4d0ab02... add helper to lookup texture by id
  12390e7... namespace a bit
  731cbdd... port blurred outset shadows to renderjob
  94d0426... add missing custom.glsl source
  a20a9b0... update todo
  856b82b... give hook for glshader to compile on next renderer
  282ab60... make closer to glutilsprivate.h implementation
  51446db... igmore zero case
  5606f02... handle degenerate assertions in nine slices
  240a823... this shouldn't bee needed now that we track textures
  da84546... give more info in filename when debugging
  97fc782... add missing wrapper should we end up using it
  89c83ea... fix unblurred outline rendering
  9905fc0... fix unblurred inset shadow
  ee4de72... blurred inset shadow needs transformed rect
  04e7047... use offscreen directly instead of rect
  b874864... use x/x2 instead of x/width
  768f90a... handle unlinked uniforms more gracefully
  78fa257... switch to x,x2 areas for texture libraries
  d9fbec8... update todo
  6446ff8... handle changes to array length
  d197c0b... always set initial bit
  f0b2bb3... more assertions
  809eeec... flip y when drawing framebuffers from command queue
  cc2823e... fix missing texture source for blit
  9d9ac21... disable sanity debugs for now
  c45bfa2... use 4f instead of 4fv
  d18f785... fix clipped child bounds
  63a057f... make sure we have a non-zero render target
  e7ca374... reset alpha for offscreen drawing
  ff9830e... cleanup handling of opacity nodes
  6d5aa13... try a bit harder to keep command queue current
  2733d64... use half_blur_extra
  f410533... more details in file name
  87b3367... set framebuffer on attachment state directly
  eab44b1... use assertions in some cases
  18fc55c... add split draw API
  7fbdf37... use split_draw() when processing glyphs
  18ab8e6... hoist begin_draw out of some loops
  0bf8873... make original comment more clear
  4636f41... remove superfluous constage
  7e0b536... only need a bit
  726ecca... use gboolean instead of bool
  60a9b3a... style fixes
  ccbe879... add helper to print batch information to console
  e93f001... avoid float conversion for x,y coords
  c4285ad... check current clip, not new clip
  fce56d6... actually use the blit program
  c864650... add helper to create GdkGLTexture
  41f87aa... use driver for gdk texture creation
  e4ce598... add issing 1ui handler possibly used by GskGLShader args
  b88d667... add helper to get format size
  4286b35... decode uniform data when dumping batch info
  7b87289... use g_printerr consistently
  296cdd2... fix missing comma
  c8ba8ca... specify clear bits in debug output
  0eb7858... style fixup
  932624b... add number of vertices in draw
  2f5e8d1... always setup initial framebuffer
  a3df760... update todo
  464fafd... fix cleanup of custom shader programs
  b598621... add various renderer timers and counters
  602a84a... add build/execute command queue marks
  4b096a3... add marks for texture uploads
  6c9f59f... use gdk profiler for fbo/uniform/attachment counters
  8803d10... update todo
  82b0a5f... fix symbol names
  dfeed1e... defer frame cleanup until after we swap buffers
  3a15d82... inline buffer advance and offset
  4c4d214... drop memcpy for old value
  617e451... manage uniform buffers without gbytearray
  0b3ee40... remove swap buffers
  fb6a775... do less work
  6dabefc... ignore debug groups unless G_ENABLE_DEBUG
  c0c2084... state is const here
  489d91c... hoist has_scissor
  3f3d3c5... avoid second copy
  2763b7e... allow inline snapshot callback
  690717a... give jumptable a chance to optimize out
  5d2ace0... dont memset batch on resize
  ebba1aa... style consistency
  33d98fd... pass fewer pointers
  4f1f098... precalculate scissor rect
  3192bac... keep shared state counter in driver
  eba3bc1... this is always non-null
  1d64321... call glActiveTexture less when executing
  19bdbf9... cache clip and modelview pointers
  21875b3... inline draw helper
  bfd0b51... include epoxy i a single place
  14e0402... track number of texture uploads as metric
  dccdbc3... avoid glDisable/glEnable() scissor test state changes
  5786201... inline isnan check
  744fd99... avoid walking gaps in location mapping array
  1d33afb... use floorf
  9314bce... call make current a bit less
  039dcd4... use const for visitors and inline
  45f2c97... store render nodes as const locals
  976a3ea... tweak order we check things
  6e30a8b... use memcmp
  e366edc... compile out assertions in some hotter paths
  dc43764... inline some cache lookups
  30d1c92... perform cleanup before frame instead of after
  0471e7d... texture size should be int
  d0f9304... remove state save
  4b5d7b2... remove attachment save/restore
  4068949... specifically set clear color
  b263074... keep compare same as draw
  1159252... mark count as unused as its for debugging
  41f96ea... prefer pointer math
  30b27fc... use memcmp for corners
  d2bcce3... avoid some repeated g_array_set_size() calls
  bf21688... simplify a bit more
  3706bcb... try to iterate fewer attachment slots
  cb18c9d... check our batch before the previous
  1f751a7... use fast int type
  e97c91d... use fv and iv variants when setting uniforms
  553c2a0... use pointer variant for all uniform values
  af346bd... avoid converting to float[]
  924a803... inline uniform application
  8499c00... wait to get render region until after starting frame
  0945d3c... cleanup a bit
  d6407ec... make state value false when disabling scissor
  7562e3e... fix state checks
  5abd677... inline rgba is clear check
  cbd80b6... share alpha check
  ad50b5a... use cached transform bounds
  f2f5fe1... remove getters for things accessible from job pointer
  0e3aab5... inline projection init
  d376bc4... remove singly used functions
  e0045af... use single glDeleteTextures() call when freeing pool
  34784a9... do post-buffer swap cleanup
  9498702... remove append_val from hot path
  5c631f7... use memcmp for rgba compare
  860b1ae... remove check from very hot path
  bf21a85... use gsize for positions/len
  e6a4bc2... always bind fb 0
  1f10859... give compile time access to location offset storage
  96be4f6... dont set this until we need it
  68d5bbd... remove branch from hot path
  f68db2f... remove a pointer chase
  dfd18ee... use memcpy for corners
  191fc91... inline most common transform, 2d-affine
  5c64c19... remove indirect pointer to uniform info
  c73dd84... make get_uniform() inline and remove fallbacks
  9bb0762... remove framebuffer reuse
  4527143... use memcmp for compare
  3c22dea... presize arrays
  f7d443c... remove unnecessary memcpy
  26bd947... copy proposed fix for GL
  6e823cb... reduce allocations and lookups in uniform state
  c361178... give uniform usage a chance to be inlined
  4464d38... dont inline toplevel visitor
  3476fe0... use memcmp for colors
  f673215... read initial bit before unifrom data
  e3522c2... remove unnecessary rectilinear call
  c28772a... remove use of garray in batches
  a40a0cd... use move-to-front semantics for glyph cache
  bc05ff1... add helper to grow/retract vertices
  545ff59... add text glyph vertices in one batch
  6bcdfdf... style cleanup
  27a32b7... Revert "add text glyph vertices in one batch"
  16c0864... add text glyph vertices in one batch
  806356e... bring batch glyph vertices batching
  2299065... return previous fbo when binding
  7c84047... remove state save/restore semantics
  70b8b7d... bring begin/end draw into render job
  4082868... restore prev alpha
  ed57ba9... add stamp when we change uniform value
  d62ea08... add plumbing for per-uniform stamps
  8d5bf3d... use stamps to avoid costly comparisons
  702ebb2... actually use stamp to compare
  c0db18c... remove stamp change
  023d890... implement basic framebuffer sorting
  1e8900a... more assertions
  68dcd12... dont reorder if we end up at the same place
  f317823... add definable inline array
  6f6ebb4... we only need 4 textures
  14fbcdf... implement basic batch reordering by framebuffer
  818eccc... remove debug groups
  fe15966... we only need 4 textures
  0803d2a... branch unnecessary
  d9388fd... avoid some re-calculations of corners
  1e0f8c4... fix cache reclamation
  b010ae5... bring over GL glyph subpixel fix
  9ec6c04... bring over various bugfixes from GL renderer
  1ccd9c2... bring fix over for y-flip
  ca3607c... always stash new values for uniform state
  39bec23... remove simple batch merging
  b475008... remove dead code
  ea96d52... remove matrix hack
  9699ec8... Revert "remove dead code"
  9b248be... Revert "remove simple batch merging"
  916c8a2... add very simple snapshot comparison code
  9ff0dfb... batch draws if snapshots are comparable
  c3154df... make bitfield go a bit further
  b584534... steal another bit from array count
  dab6ea7... Add an assertion
  6bfa380... we bumped to 21
  df2d92b... ignore unused uniforms in gl shader
  b450615... add back check for invalid location
  5903196... make it clear the size requirements for array_count
  38d58b3... DRY the bits available in packed struct
  c946e65... fix typo
  ebe28d8... shorten data field name
  ebf6537... allow defining more of inlinearray bits
  28b7b30... shorten array names
  12f2e9a... remove dead code
  55a5381... delay scissor setup
  b769e58... improve damage rect calculation
  97d487e... style cleanup

Commits added to the branch:

  6b29eee... reftest-compare: Fix spelling of "diff" (*)
  1c6cf7a... reftests: Share reftest-compare.[ch] between GSK and GTK te (*)
  bf6a40f... wayland: Complete our buffer format listing (*)
  27071b5... Merge branch 'matthiasc/for-master' into 'master' (*)
  67b5a34... Adwaita: Avoid fine-tune scrollbars jumping (*)
  f5bd591... Merge branch 'wip/jimmac/scrollbars-fine-tune-fix' into 'ma (*)
  edcd4c6... Adwaita: control surface for resize tiled windows (*)
  8ee4ea4... Merge branch 'wip/jimmac/tiled-resize-area-gtk4' into 'mast (*)
  189e0c0... Merge branch 'wip/smcv/reftest-dedup' into 'master' (*)
  c2f811d... popover: Add a popover content class (*)
  31ceb4d... Revert "gizmo: Chain up in css_changed" (*)
  04daa23... Revert "gizmo: Add a css_changed function" (*)
  7390e24... Merge branch 'matthiasc/for-master' into 'master' (*)
  5a8e2a8... gsk: Add a missing GDK_AVAILABLE_IN_ALL (*)
  41abda9... Make gtk_im_modules_init properly private (*)
  38da889... Merge branch 'matthiasc/for-master' into 'master' (*)
  af1981e... popovercontent: Few small fixes (*)
  3548895... paned: Add a paned handle class (*)
  05fe244... imcontext: Enable font fallback for preedit (*)
  da71a37... imwayland: Return limited preedit attributes (*)
  19b9967... text: Fix sticky preedit attrs (*)
  32c7ca5... Merge branch 'matthiasc/for-master' into 'master' (*)
  8e2f90e... widget: Don't assume GtkWindow root in gtk_widget_propagate (*)
  4a47bdf... Merge branch 'wip/exalm/root' into 'master' (*)
  1fbdfe3... gdk/wayland: Look for font settings recursively (*)
  4327a86... imcontext: Make Compose preedit less intrusive (*)
  d84a028... imwayland: Tweak preedit text (*)
  447e6db... Merge branch 'wip/carlosg/font-setting-lookups' into 'maste (*)
  07295ac... Merge branch 'unintrusive-compose-preedit' into 'master' (*)
  507b0c4... stub out prototype bits for different GL renderer design
  b5a6545... add clear helper
  d622a4d... setup texture library frame ends
  5851464... setup modelview stack
  d1eed99... start bringing over some of the modelview bits
  f443986... cleanup offset handling
  247bd30... transform can be null
  e948ab5... add renderer to test utils
  078fb94... break job into a prepare and render phase
  6051c92... add execute func
  da04d03... setup command queue before libraries
  6342a19... add viewport hook
  5abb98a... stub out job render a bit
  0821def... check clip before visiting node
  8e2b204... always keep a node in the all_queue
  4b343b6... start on more memory friendly version of command queue
  b8dd9f1... reset arrays on end frame
  ea30ecc... ensure clear call is done inside of frame begin/end
  d18718f... sketch out some real basics for drawing
  0a6b115... apply framebuffer from clear command
  94542ec... use shorts for WxH of viewport within batch
  398fb2b... use union to make batch size smaller
  0b9a480... handle initial state for uniform info
  f1db70c... only setup viewport uniform if location is > -1
  2cb35cb... mark queue as in draw
  5834f3a... viewport is changed now
  44a4f20... give more information about uniform failure
  e4567a0... always allocate some space
  8d4d7d9... wrap matrix setter
  7873e97... add some precondition checks
  0c0f492... cache commonly used location at known offset
  858e0e0... setup matrix uniform for modelview
  892ed15... fix batch tail ordering
  132fa77... check max texture size when starting a frame
  9d36772... only set viewport once
  b2d0a0d... DRY viewport change
  c63b604... change program for draw batches
  009a07d... cleanup style, more asserts
  cc35f79... set initial state to FALSE
  25ca656... more assertions
  57f6ea6... fix alignment of uniform sizes
  6e93a4e... remove extra bind sets
  ca53d9a... style cleanup
  60612c5... start with scissor disabled
  41d4115... use bitfields instead of flags
  f46a5d1... mark some costly things as unlikely
  c14903a... better naming
  c3daf0e... detach shader before deleting
  fc12fed... use array instead of hashtable
  14e765f... only change framebuffer if non-zero
  1a5f7b5... some cleanup
  1cd4956... fix shader suffix
  9aaadce... add some debug helpers
  83a92d5... use aUv not vUv
  5fda43a... be safer about clearing things even if we error
  4545b58... setup clip for color node
  93b5da2... setup clip rect as part of starting draw
  af5997f... make program uniform setting passthrough
  22a77e8... implement linear gradient node
  98303fe... cleanup
  644e3cb... remove helpers
  9cc3979... extract out of jump table
  53a07c2... stub out fallback
  51c158b... bring over transform check
  ef38838... stub out simple transform nodes
  5b7d437... start on clipping
  eee0a44... fix program
  b12b013... start on basic rounded clip
  28ea9a9... clear uniform state to zero when expanding
  a8f8c90... start on border node
  320d48e... add renderer to node-editor
  796a1f5... ensure we've loaded max texture size
  62bfc63... make current before deleting program
  3d49d3f... handle clip more gracefully
  ad894a0... error harder
  470b08c... cleanup assertions
  e2b292c... set uniform initial state bit when resizing
  29fe282... copy clip to avoid invalidation by visiting other nodes
  7a55027... only do one memset
  b8d7472... remove debug code
  51c50e2... more assertions
  359fa9b... increase alignment for dynamic uniform state
  b0097be... add 4fv wrapper
  501165e... borders program
  c3e2333... reduce overhead for setting uniforms
  d5b224b... implement unblurred inset shadow
  5623ec1... fix typo in program indexes
  743d317... add gsk_gl_render_job_draw() with float variant
  dc8a5ef... implement unblurred outset shadow
  cf4fe57... discard batches with no draws
  cd68605... cleanup style
  844cf38... implement conic gradient
  0ab27f5... add alpha location
  c7b95a6... stub out offscreen draw
  0c6408c... implement cross fade node
  bbfe6b0... avoid some locals
  a2bf43e... add offscreen draw helper
  a68a18c... render opacity nodes
  4093d86... move autorelease semantics to driver
  b84e37f... update copyright
  4228b47... stub out some texture api in driver
  8c8b09c... implement texture collection w/o double iteration
  89043d3... start on texture loading
  790033f... implement uploading from command queue
  fa00a2c... update copyright
  f768628... stub out more nodes
  7297120... stub out other nodes
  e0e1985... more stubs
  3e12ca2... add texture pool
  e9ba93b... fix typo
  806014a... cleanup texturing code in driver
  4a45cdc... fix some warnings
  ba7a6a7... add documentation
  d75f58e... stub out some more texture interactions
  c296679... ideate around offscreen
  96d5f41... simplify with some macros
  ca15717... fill area on loading
  fd8bbc2... stub out library upload/lookup hooks
  175bbaf... fix scale
  9d7ffd2... cleanup style
  01ba2bb... helper to dump framebuffer after each batch
  71a82d6... make inline to avoid warning
  b0bb2da... fix viewport size changes
  46fccf3... clear in_draw when discarding batch
  4f7caf7... style cleanup
  fc7d965... add flipped rendering
  642ad1c... include offset for linear gradient
  26783c3... match fv variants to uniform kinds
  650307f... make sure we don't leave this out
  4f48946... transform rounded rect for uniform border
  8174030... use rounded rect
  d1d956a... stub out fallback drawing
  8fd3cdf... offscreen cleanup
  eb48ef2... more texture upload, vertices work
  66681c5... fix warning
  7847b86... fix typo
  b0eeef0... more offscreen rendering work
  7620595... improve clipped child drawing w/ offscreen
  662e0dc... add missing bounds
  5bf4885... move lower near other public funcs
  2618da2... more offscreen drawing work
  00a12ed... fix typo
  26f3566... fix flip based on offscreen
  0b8e1d8... repeat node
  29117aa... color matrix node
  5eaec16... implement radial gradient
  0cf82de... set cairo/repeating gradients as fallback
  63264ab... implement blend node
  64a1def... implement basics of blur node/texture
  d4a9cd5... some blur tweaks
  457bc05... make header as private
  07aa262... add render target abstraction
  9e588e6... make autorelease framebuffer private
  c0e4519... use single frame caching for now
  289c40e... style cleanup
  58b9fc0... blurred inset shadows
  1666aa1... improve cleanup state of framebuffers
  f3e1d95... add design doc
  353e8cb... Add next to GSK_RENDERER=help output
  1894d82... xxx: Fix a typo
  94a0788... Hook up fallback debugging
  e9c9237... add shader loading (and unloading) to driver
  755acc5... implement more complex category for transforms
  63b7d4f... add some missing uniform setters/types
  dd36bba... pass error along
  9e5d364... allow -1 for a failure program
  461a9cf... start on shader nodes
  6fb6f45... wire up attributes and shared uniforms
  74686da... move fallback out of shader node
  5578b8b... implement shadow node
  185c876... stub out blurred outset shadow
  91060e9... fix assertion
  7847fa0... initial work on glyph cache
  041f995... start on texture atlasing plumbing from driver to libraries
  0ffa923... fix positioning of glyphs
  692b06f... flesh out glyph uploads a bit
  da21ad8... skip if no texture to render
  d6e0336... add helper to dump atlas contents
  3042809... implement basics for icon library
  a29f74e... set max size for icon library
  fd26bde... add helper to check cachability
  b9b9233... fix width/height calculation within atlas
  2816ffd... start on texture node
  83e80a1... fix rouneded rect transform
  4beaffb... simple batch merging
  70b8508... ignore texture changes to 0
  5ab1188... return false when texture id is 0
  54af4ed... add check for valid entry size
  dfce807... add texture and vertices for color matrix
  33ec7f6... remove unused code
  db635df... fix pack position in icon cache
  b30f375... use glyph cache for small textures
  4d8c8de... debug atlas content after uploads but before commands
  d2f57c8... add debug printf for uniform locations
  aa0b645... always do inital set of texture slot
  0d7fd2f... fix offscreen bounds
  f826aee... add some assertions
  bfe5009... use macro helper
  e582dfb... apply scissor clip while processing fbo changes
  5cd44ae... cleanup has-clip check
  53066b5... fix early return for rounded clip node
  e2e3647... cleanup texture state when freeing
  2d9eccb... document renderjob internals a bit
  63ba344... start on sharing driver instance across renderers
  9c86014... ensure context before atlas uploads
  f89a3b4... get max_texture_size immediately on creation
  e1a2eba... allow for multiple command queues with shared state
  59eb997... some todo items
  01fa7b9... dont share attachments
  f7da420... reset texture attachments when ending frame
  98ab90f... avoid save/restore of attachment state
  f3e13fc... use floats for comparison
  445a29e... fix alpha when only drawing cross-fade end node
  633c706... actually draw the cross fade
  c3ff451... fix uniform format
  0d072ea... add assertions
  7dadbd4... use previous frame to determine new buffer size
  f921784... check for valid uniform format
  37a7d6a... unlikely but check anyway
  6d601bd... fix texture location for blend op
  307f8da... avoid extra copy of rounded rect
  ab13dc9... ensure our send_corner state is correct
  9c06afd... only clear corner state
  a784da7... more assertions
  cccc74b... check corner state before replacing uniform pointer
  06cbbd7... begin draw before changing uniforms
  3305193... fix whitespace
  30b0020... more assertions
  7863978... keep program const
  78c78cd... reset uniform flags
  8cbdbda... use initial field to force sending corners
  88b7b5c... check initial flag and count in setters
  0bb5318... check more initial state in comparisons
  2bd7a49... track if we're in a frame
  8e79ece... move texture cleanup to pooling code
  08499b1... collect textures from previous frame
  7fc5243... fix warning and more assertions
  cc9ace2... add some debug code
  3cdd84f... make sure we track gl texture lifecycle
  5d74bf0... free textures back into the texture pool
  38e186e... testsuite: Add next renderer to gsk tests
  e365114... port to new gradient code
  a435e9a... use inlined rect_contains_rect
  b1ed5aa... use inlined memcmp for rounded rect comparison
  3cba82d... use offscreen to flip-y, similar to gl renderer
  cc49630... port over texture slicing
  ea5c7da... add missing bit about main()
  3f07948... implement texture slicing in texture node
  65f0cf5... update todo
  d9379ba... only reset changed textures
  c553f4a... add shadow library
  d59e2a2... fix texture lifecycle management
  b49b8b0... implement non-sliced shadows
  e58d285... add nine slicing helpers
  81ffb79... cleanup simple case drawing
  17508ab... add helper to lookup texture by id
  dba198c... namespace a bit
  4797986... port blurred outset shadows to renderjob
  e490281... add missing custom.glsl source
  f76e6f3... update todo
  89befd2... give hook for glshader to compile on next renderer
  9412c9e... make closer to glutilsprivate.h implementation
  d796663... igmore zero case
  5c5ed13... handle degenerate assertions in nine slices
  f79e58f... this shouldn't bee needed now that we track textures
  6e77ee9... give more info in filename when debugging
  abb8532... add missing wrapper should we end up using it
  89eb5af... fix unblurred outline rendering
  0aa789a... fix unblurred inset shadow
  67d1149... blurred inset shadow needs transformed rect
  3575237... use offscreen directly instead of rect
  661cb2f... use x/x2 instead of x/width
  c844a0e... handle unlinked uniforms more gracefully
  3cc04a3... switch to x,x2 areas for texture libraries
  cfbfe16... update todo
  59a7d70... handle changes to array length
  47df707... always set initial bit
  946de59... more assertions
  36cf3df... flip y when drawing framebuffers from command queue
  65cbe59... fix missing texture source for blit
  da41790... disable sanity debugs for now
  c7d6bb4... use 4f instead of 4fv
  268ed15... fix clipped child bounds
  4f8e590... make sure we have a non-zero render target
  10c70b6... reset alpha for offscreen drawing
  fb99489... cleanup handling of opacity nodes
  b859923... try a bit harder to keep command queue current
  c9322b3... use half_blur_extra
  45811cd... more details in file name
  6152eb6... set framebuffer on attachment state directly
  e8a0a3d... use assertions in some cases
  34b8f9f... add split draw API
  6821b3e... use split_draw() when processing glyphs
  2e18b7f... hoist begin_draw out of some loops
  ea5f49c... make original comment more clear
  ebc9058... remove superfluous constage
  66e61f0... only need a bit
  4bf2eb5... use gboolean instead of bool
  c18dfd2... style fixes
  7f9a416... add helper to print batch information to console
  d20db53... avoid float conversion for x,y coords
  07c0a80... check current clip, not new clip
  1c12c88... actually use the blit program
  3660173... add helper to create GdkGLTexture
  1668c93... use driver for gdk texture creation
  b3eac28... add issing 1ui handler possibly used by GskGLShader args
  19e6027... add helper to get format size
  c15ec75... decode uniform data when dumping batch info
  6fde691... use g_printerr consistently
  8787c84... fix missing comma
  0f5dec9... specify clear bits in debug output
  780782a... style fixup
  19b24d1... add number of vertices in draw
  c8a6687... always setup initial framebuffer
  92ea91a... update todo
  abb7989... fix cleanup of custom shader programs
  529a224... add various renderer timers and counters
  bb17d30... add build/execute command queue marks
  920844a... add marks for texture uploads
  76d8244... use gdk profiler for fbo/uniform/attachment counters
  b60518c... update todo
  52de06b... fix symbol names
  c419155... defer frame cleanup until after we swap buffers
  7078322... inline buffer advance and offset
  78f6cef... drop memcpy for old value
  615a9a4... manage uniform buffers without gbytearray
  7ec34f2... remove swap buffers
  518911a... do less work
  ba7ce67... ignore debug groups unless G_ENABLE_DEBUG
  e7d888e... state is const here
  ec7fa6f... hoist has_scissor
  f8bcc8f... avoid second copy
  3d7496c... allow inline snapshot callback
  a9a66ac... give jumptable a chance to optimize out
  5f406d6... dont memset batch on resize
  25f3ad2... style consistency
  fd0c7c1... pass fewer pointers
  da5acf7... precalculate scissor rect
  f2b85a6... keep shared state counter in driver
  68710f9... this is always non-null
  65e7643... call glActiveTexture less when executing
  722709b... cache clip and modelview pointers
  b617d06... inline draw helper
  cfd0e96... include epoxy i a single place
  96c3193... track number of texture uploads as metric
  cde70cd... avoid glDisable/glEnable() scissor test state changes
  e83f235... inline isnan check
  b677b4c... avoid walking gaps in location mapping array
  eb1a514... use floorf
  80f84a4... call make current a bit less
  3e3b308... use const for visitors and inline
  d3d027f... store render nodes as const locals
  33fd3bb... tweak order we check things
  4cbaf7f... use memcmp
  ad6d299... compile out assertions in some hotter paths
  0b39d42... inline some cache lookups
  07cc6c8... perform cleanup before frame instead of after
  0ca7477... texture size should be int
  8cc4676... remove state save
  fb4371f... remove attachment save/restore
  550c48b... specifically set clear color
  6595809... keep compare same as draw
  785ca12... mark count as unused as its for debugging
  c2ba996... prefer pointer math
  e97dbbd... use memcmp for corners
  4f078c8... avoid some repeated g_array_set_size() calls
  532063a... simplify a bit more
  dbae4d7... try to iterate fewer attachment slots
  58c270a... check our batch before the previous
  e661d23... use fast int type
  13df9e4... use fv and iv variants when setting uniforms
  2f0ec19... use pointer variant for all uniform values
  cfcb29c... avoid converting to float[]
  7d7505b... inline uniform application
  eb2ff32... wait to get render region until after starting frame
  19689c2... cleanup a bit
  77fe0ff... make state value false when disabling scissor
  d46bba5... fix state checks
  fed36fe... inline rgba is clear check
  0d7cc92... share alpha check
  0e67ab2... use cached transform bounds
  421bfe5... remove getters for things accessible from job pointer
  16bcb60... inline projection init
  bc19613... remove singly used functions
  277264a... use single glDeleteTextures() call when freeing pool
  c61644f... do post-buffer swap cleanup
  4b0175f... remove append_val from hot path
  3dde660... use memcmp for rgba compare
  c3057c4... remove check from very hot path
  3d4dd8f... use gsize for positions/len
  439d6ed... always bind fb 0
  d51fa47... give compile time access to location offset storage
  0e144c9... dont set this until we need it
  de8fde0... remove branch from hot path
  bbcbb3f... remove a pointer chase
  753bbe9... use memcpy for corners
  bb7ff33... inline most common transform, 2d-affine
  6fe6398... remove indirect pointer to uniform info
  531c784... make get_uniform() inline and remove fallbacks
  12e7177... remove framebuffer reuse
  80124ad... use memcmp for compare
  6f22acc... presize arrays
  595472e... remove unnecessary memcpy
  2b55bc1... copy proposed fix for GL
  4500263... reduce allocations and lookups in uniform state
  eb78e4b... give uniform usage a chance to be inlined
  4a66204... dont inline toplevel visitor
  f558851... use memcmp for colors
  b0adb22... read initial bit before unifrom data
  acf206d... remove unnecessary rectilinear call
  ed47794... remove use of garray in batches
  a0cd111... use move-to-front semantics for glyph cache
  cf05a8c... add helper to grow/retract vertices
  eb11c14... add text glyph vertices in one batch
  d9e63a1... style cleanup
  70d00c2... Revert "add text glyph vertices in one batch"
  01bde97... add text glyph vertices in one batch
  625e7b3... bring batch glyph vertices batching
  aeb1876... return previous fbo when binding
  3712f44... remove state save/restore semantics
  9e83013... bring begin/end draw into render job
  da347d8... restore prev alpha
  60f3224... add stamp when we change uniform value
  b24ea7f... add plumbing for per-uniform stamps
  4a720ed... use stamps to avoid costly comparisons
  86da24c... actually use stamp to compare
  edfa8fb... remove stamp change
  4758f50... implement basic framebuffer sorting
  b7fb28b... more assertions
  d22ff69... dont reorder if we end up at the same place
  348c914... add definable inline array
  6af75aa... we only need 4 textures
  3840fb8... implement basic batch reordering by framebuffer
  3702f44... remove debug groups
  c41f34c... we only need 4 textures
  95832fc... branch unnecessary
  3ea4975... avoid some re-calculations of corners
  716063c... fix cache reclamation
  a2bfc7c... bring over GL glyph subpixel fix
  3b84952... bring over various bugfixes from GL renderer
  92f1bf3... bring fix over for y-flip
  2862d4a... always stash new values for uniform state
  2f1ad5b... remove simple batch merging
  ec93cf1... remove dead code
  8da0625... remove matrix hack
  3e8935d... Revert "remove dead code"
  36e4c8b... Revert "remove simple batch merging"
  dbe10e9... add very simple snapshot comparison code
  6b458a1... batch draws if snapshots are comparable
  43a3044... make bitfield go a bit further
  1004d75... steal another bit from array count
  478c4f6... Add an assertion
  f77352b... we bumped to 21
  3313936... ignore unused uniforms in gl shader
  7744dac... add back check for invalid location
  e097150... make it clear the size requirements for array_count
  e09e7b8... DRY the bits available in packed struct
  f3edb9f... fix typo
  cf943de... shorten data field name
  a3eec1b... allow defining more of inlinearray bits
  851a7ca... shorten array names
  21fc425... remove dead code
  7592df5... delay scissor setup
  21a54f0... improve damage rect calculation

(*) This commit already existed in another branch; no separate mail sent


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]