aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
Commit message (Collapse)AuthorAge
* Revert of Suppression for valgrind bug (patchset #1 id:1 of ↵Gravatar scroggo2015-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1410953002/ ) Reason for revert: We believe this was suppressing an out of date error that was being triggered because the valgrind bot was not rebuilding nanobench. The valgrind bot has been fixed (is there a bug tracking that?), so this suppression is probably not necessary. Original issue's description: > Suppression for valgrind bug > > TBR=msarett@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > BUG=skia:4478 > > Committed: https://skia.googlesource.com/skia/+/82e341ff8764ef6168a0c9322089c391d657ae7f TBR=msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4478 Review URL: https://codereview.chromium.org/1406333006
* Stop running nanobench on GalaxyS4Gravatar borenet2015-10-22
| | | | | | BUG=skia:3214 Review URL: https://codereview.chromium.org/1422683002
* Force VisualBench to reset GLContext on GrContext resetGravatar joshualitt2015-10-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1416063002
* Fix build targets for some botsGravatar borenet2015-10-21
| | | | | | | | Valgrind bot is not building nanobench. Some bots are building nanobench and then not running it. BUG=skia: Review URL: https://codereview.chromium.org/1412243004
* Revert of path ops: fix conic weight and partial coincidence (patchset #5 ↵Gravatar caryclark2015-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:80001 of https://codereview.chromium.org/1413763002/ ) Reason for revert: path ops change breaks svg clipping layout tests -- conic is now more accurate, changing edge of circle in clip These need to be rebaselined svg/clip-path/clip-path-child-clipped.svg svg/clip-path/clip-path-nonzero.svg svg/clip-path/clip-path-evenodd-nonzero.svg svg/clip-path/clip-path-nonzero-evenodd.svg Original issue's description: > The remaining 1m skp bugs are asserts that can be harmlessly > suppressed and bugs around conics. > > The conic calculation for a subdivided w was just wrong. > > Also added debugging to template intersection to initialize > reused structures and dump additional data. > > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/ef33b1e739b23a1201100ff17a572da85b03d9af TBR= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1408923003
* Clean up some dead code.Gravatar mtklein2015-10-20
| | | | | | | | | | | This cleans up tools/ code, or code that should have been in tools/. The only interesting code change trims features off of PictureRenderer. It's still in use by a few useful-looking tools. BUG=skia: Review URL: https://codereview.chromium.org/1416913003
* The remaining 1m skp bugs are asserts that can be harmlesslyGravatar caryclark2015-10-20
| | | | | | | | | | | | | suppressed and bugs around conics. The conic calculation for a subdivided w was just wrong. Also added debugging to template intersection to initialize reused structures and dump additional data. TBR=reed@google.com Review URL: https://codereview.chromium.org/1413763002
* Include resources directory in google3 sync.Gravatar benjaminwagner2015-10-20
| | | | | | | | | | | | | | Also other minor improvements in sync scripts. In BUILD.public, include all files under resources as data dependencies for DM. Omit newly failing DM tests and add newly passing DM tests. Adds the OpenClipart "license" to LICENSE per comment in google3 CL 100158380. Corresponding google3 CL is 105602927. BUG=skia: Review URL: https://codereview.chromium.org/1406283002
* Add SkTTopoSortGravatar robertphillips2015-10-19
| | | | | | BUG=skia:4094 Review URL: https://codereview.chromium.org/1414503003
* Misc: Don't run etc1 bench with invalid image and fix VS2015 build warningGravatar bsalomon2015-10-19
| | | | Review URL: https://codereview.chromium.org/1409993003
* Add imgblur tool to assist BlurMaskFilter debuggingGravatar robertphillips2015-10-19
| | | | | | | | imgblur is intended to establish a ground truth for debugging mask blur issues. It performs a brute force (non-separable) Gaussian blur of the provided image. The blur code itself is in sk_tools_utils so it can be more easily used programmatically in other places (e.g., blur unit tests). Review URL: https://codereview.chromium.org/1384203002
* Test SkRemote on GCE bots.Gravatar mtklein2015-10-17
| | | | | | | | | This will get us gathering GM images. I will set up ignores on gold.skia.org so no one's bothered. BUG=skia: Review URL: https://codereview.chromium.org/1414563002
* Suppression for valgrind bugGravatar scroggo2015-10-16
| | | | | | | | | | | TBR=msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4478 Review URL: https://codereview.chromium.org/1410953002
* Enabling clip stack flattening exercises path ops.Gravatar caryclark2015-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Iterating through the 903K skps that represent the imagable 1M top web pages triggers a number of bugs, some of which are addressed here. Some web pages trigger intersecting cubic representations of arc with their conic counterparts. This exposed a flaw in coincident detection that caused an infinite loop. The loop alternatively extended the coincident section and, determining the that the bounds of the curve pairs did not overlap, deleted the extension. Track the number of times the coincident detection is called, and if it exceeds an empirically found limit, assume that the curves are coincident and force it to be so. The loop count limit can be determined by enabling DEBUG_T_SECT_LOOP_COUNT and running all tests. The largest count is reported on completion. Another class of bugs was caused by concident detection duplicating nearly identical points that had been merged earlier. To track these bugs, the 'handle coincidence' code was duplicated as a const debug variety that reported if one of a dozen or so irregularities are present; then it is easier to see when a block of code that fixes one irregularity regresses another. Creating the debug const code version exposed some non-debug code that could be const, and some that was experimental and could be removed. Set DEBUG_COINCIDENCE to track coincidence health and handling. For running on Chrome, DEBUG_VERIFY checks the result of pathops against the same operation using SkRegion to verify that the results are nearly the same. When visualizing the pathops work using tools/pathops_visualizer.htm, set DEBUG_DUMP_ALIGNMENT to see the curves after they've been aligned for coincidence. Other bugs fixed include detecting when a section of a pair of curves have devolved into lines and are coincident. TBR=reed@google.com Review URL: https://codereview.chromium.org/1394503003
* Add NVPR to VisualBenchGravatar joshualitt2015-10-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1409603004
* Add dm target to BUILD and refactor BUILD file. The corresponding google3 ↵Gravatar benjaminwagner2015-10-15
| | | | | | | | | | | | BUILD file changes are in google3 cl/105413829. Fix blaze compilation errors. The default compilation options for blaze require that the initialization list must list fields in initialization order. Also deal with differing versions of libjpeg. The BUILD changes were started by melanielc in google3 cl/102860957. BUG=skia: Review URL: https://codereview.chromium.org/1401883005
* Renable image benchmarkingGravatar scroggo2015-10-15
| | | | | | | | | | | | | | | - Remove --images '' to renable image benchmarking - Add a flag to disable testing JPEG's buildTileIndex, since it also leaks memory - Do not run images on GPU - Do not run large interlaced images on 32 bit bots - When buildTileIndex is not being used in the subset benches, do not use it for BRD BUG=skia:3418 BUG=skia:4469 BUG=skia:4471 BUG=skia:4360 Review URL: https://codereview.chromium.org/1396113002
* small tidy of benchmarkstreamGravatar joshualitt2015-10-15
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/691b6af907e55250a29a7a2a346b63c2026011c3 Review URL: https://codereview.chromium.org/1395703002
* Revert of small tidy of benchmarkstream (patchset #2 id:20001 of ↵Gravatar joshualitt2015-10-14
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1395703002/ ) Reason for revert: Breaks visualbench Original issue's description: > small tidy of benchmarkstream > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/691b6af907e55250a29a7a2a346b63c2026011c3 TBR=robertphillips@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1392833006
* small tidy of benchmarkstreamGravatar joshualitt2015-10-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1395703002
* Create VisualStreamTimingModuleGravatar joshualitt2015-10-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1385073002
* SkBitmapRegionCanvas bug fixGravatar msarett2015-10-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1393423004
* SkBitmapRegionDecoder clean-upGravatar msarett2015-10-12
| | | | | | | | | | | | | | Use SkCodecPrintf instead of SkDebugf. Check if the conversion is possible rather than starting many decodes that will certainly fail. Small refactor to code that deals with subsets that fall outside of the image. BUG=skia: Review URL: https://codereview.chromium.org/1395383002
* Move functions from SkGr to SkGrPriv.hGravatar bsalomon2015-10-09
| | | | Review URL: https://codereview.chromium.org/1397123002
* Fix codec memory leaks in nanobenchGravatar scroggo2015-10-09
| | | | | | | | | | | | SubsetTranslateBench.cpp: Unref the color table, so it gets deleted. SkBitmapRegionDecoderInterface.cpp: Delete the stream if it is not used. BUG=skia:3418 Review URL: https://codereview.chromium.org/1396113003
* Fill incomplete images in SkCodec parent classGravatar msarett2015-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | Rather than implementing some sort of "fill" in every SkCodec subclass for incomplete images, let's make the parent class handle this situation. This includes an API change to SkCodec.h SkCodec::getScanlines() now returns the number of lines it read successfully, rather than an SkCodec::Result enum. getScanlines() most often fails on an incomplete input, in which case it is useful to know how many lines were successfully decoded - this provides more information than kIncomplete vs kSuccess. We do lose information when the API is used improperly, as we are no longer able to return kInvalidParameter or kScanlineNotStarted. Known Issues: Does not work for incomplete fFrameIsSubset gifs. Does not work for incomplete icos. BUG=skia: Review URL: https://codereview.chromium.org/1332053002
* Reland of Pass --images '' to nanobench to disable image benchmarking. ↵Gravatar scroggo2015-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1400633002/ ) Reason for revert: Still breaking. e.g. http://build.chromium.org/p/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Debug/builds/1466/steps/nanobench/logs/stdio http://build.chromium.org/p/client.skia.android/builders/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/2280/steps/nanobench/logs/stdio Original issue's description: > Revert of Pass --images '' to nanobench to disable image benchmarking. (patchset #1 id:1 of https://codereview.chromium.org/1381703003/ ) > > Reason for revert: > I have attempted to fix the problems that caused running nanobench with images to fail, so testing to see if they are in fact fixed. > > Original issue's description: > > Pass --images '' to nanobench to disable image benchmarking. > > > > Enabling image benchmarking has caused most nanobench runs to fail, > > both Debug and Release. > > > > BUG=skia:3418 > > NOTREECHECKS=true > > TBR=scroggo@google.com > > > > Committed: https://skia.googlesource.com/skia/+/1f7039c6c5f0f118b629994b0bac255345e5abd6 > > BUG=skia:3418 > > Committed: https://skia.googlesource.com/skia/+/c2e59caa0a466040f4b4f08cb5604c86b2615efa TBR=mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3418 Review URL: https://codereview.chromium.org/1396843003
* Revert of Pass --images '' to nanobench to disable image benchmarking. ↵Gravatar scroggo2015-10-08
| | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1381703003/ ) Reason for revert: I have attempted to fix the problems that caused running nanobench with images to fail, so testing to see if they are in fact fixed. Original issue's description: > Pass --images '' to nanobench to disable image benchmarking. > > Enabling image benchmarking has caused most nanobench runs to fail, > both Debug and Release. > > BUG=skia:3418 > NOTREECHECKS=true > TBR=scroggo@google.com > > Committed: https://skia.googlesource.com/skia/+/1f7039c6c5f0f118b629994b0bac255345e5abd6 BUG=skia:3418 Review URL: https://codereview.chromium.org/1400633002
* Blacklisting imagefilterscropexpand on s4 since it often causes the bot to ↵Gravatar egdaniel2015-10-06
| | | | | | | | hang and crash. BUG=skia:4079 Review URL: https://codereview.chromium.org/1373763005
* Fix for visualbench loops foreverGravatar joshualitt2015-10-06
| | | | | | | TBR=robertphillips@google.com BUG=skia: Review URL: https://codereview.chromium.org/1387823004
* nvpr removal from VisualBench base contextGravatar joshualitt2015-10-06
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1391633002
* Cleanup timing state machineGravatar joshualitt2015-10-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1386933002
* move visual bench interactive module to timing state machineGravatar joshualitt2015-10-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1382883003
* Pass --images '' to nanobench to disable image benchmarking.Gravatar mtklein2015-10-05
| | | | | | | | | | | Enabling image benchmarking has caused most nanobench runs to fail, both Debug and Release. BUG=skia:3418 NOTREECHECKS=true TBR=scroggo@google.com Review URL: https://codereview.chromium.org/1381703003
* Factor out VisualBench timing code into a helper classGravatar joshualitt2015-10-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1375363003
* SkPDF: remove suppressionGravatar halcanary2015-10-02
| | | | Review URL: https://codereview.chromium.org/1379183005
* Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for ↵Gravatar joshualitt2015-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1375733003/ ) Reason for revert: Reverting, optimistically fixed Original issue's description: > Reland of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1382933002/ ) > > Reason for revert: > Not fixed. :-( > > Original issue's description: > > Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ ) > > > > Reason for revert: > > should hopefully be fixed, please reland if not. > > > > Original issue's description: > > > Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 > > > > > > BUG=skia:4373 > > > > > > Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47 > > > > TBR=borenet@google.com,benjaminwagner@google.com > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=skia:4373 > > > > Committed: https://skia.googlesource.com/skia/+/52f8deba607fd67558b57551cd43406c8b743072 > > TBR=borenet@google.com,joshualitt@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia:4373 > > Committed: https://skia.googlesource.com/skia/+/9442ab8a40dd0effde253e3b2d166bcf47222e92 TBR=borenet@google.com,benjaminwagner@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4373 Review URL: https://codereview.chromium.org/1385633002
* Reland of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for ↵Gravatar benjaminwagner2015-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1382933002/ ) Reason for revert: Not fixed. :-( Original issue's description: > Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ ) > > Reason for revert: > should hopefully be fixed, please reland if not. > > Original issue's description: > > Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 > > > > BUG=skia:4373 > > > > Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47 > > TBR=borenet@google.com,benjaminwagner@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia:4373 > > Committed: https://skia.googlesource.com/skia/+/52f8deba607fd67558b57551cd43406c8b743072 TBR=borenet@google.com,joshualitt@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4373 Review URL: https://codereview.chromium.org/1375733003
* Base SkAutoTUnref on skstd::unique_ptr.Gravatar bungeman2015-10-01
| | | | | | | | | To further consolidate the various unique owning classes, this bases SkAutoTUnref on skstd::unique_ptr. Users are updated because of two breaking changes, swap now takes a reference and reset no longer returns its argument. Review URL: https://codereview.chromium.org/1370803002
* Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for ↵Gravatar joshualitt2015-10-01
| | | | | | | | | | | | | | | | | | | | | | GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ ) Reason for revert: should hopefully be fixed, please reland if not. Original issue's description: > Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 > > BUG=skia:4373 > > Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47 TBR=borenet@google.com,benjaminwagner@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4373 Review URL: https://codereview.chromium.org/1382933002
* Basic CPU support for VisualBench.Gravatar mtklein2015-10-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1378393002
* Remove const from `const int loops`.Gravatar mtklein2015-10-01
| | | | | | | | This drives me nuts, and prevents `while (loops --> 0)`. BUG=skia: Review URL: https://codereview.chromium.org/1379923005
* Fix for nexus 5 crashing in GL benchesGravatar joshualitt2015-09-30
| | | | | | | | | | GLBenches do not expect gl state to change between onPerCanvasPreDraw and *PostDraw, but we do a clear and sometimes we clear as draw. This causes us to bind vertex objects / programs / etc. This change creates two new virtual methods which are called right before and immediately after timing. BUG=skia: Review URL: https://codereview.chromium.org/1379853003
* Merge SkCodec with SkScanlineDecoderGravatar scroggo2015-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Benefits: - This mimics other decoding APIs (including the ones SkCodec relies on, e.g. a png_struct, which can be used to decode an entire image or one line at a time). - It allows a client to ask us to do what we can do efficiently - i.e. start from encoded data and either decode the whole thing or scanlines. - It removes the duplicate methods which appeared in both SkCodec and SkScanlineDecoder (some of which, e.g. in SkJpegScanlineDecoder, just call fCodec->sameMethod()). - It simplifies moving more checks into the base class (e.g. the examples in skbug.com/4284). BUG=skia:4175 BUG=skia:4284 ===================================================================== SkScanlineDecoder.h/.cpp: Removed. SkCodec.h/.cpp: Add methods, enums, and variables which were previously in SkScanlineDecoder. Default fCurrScanline to -1, as a sentinel that start has not been called. General changes: Convert SkScanlineDecoders to SkCodecs. General changes in SkCodec subclasses: Merge SkScanlineDecoder implementation into SkCodec. Most (all?) owned an SkCodec, so they now call this-> instead of fCodec->. SkBmpCodec.h/.cpp: Replace the unused rowOrder method with an override for onGetScanlineOrder. Make getDstRow const, since it is called by onGetY, which is const. SkCodec_libpng.h/.cpp: Make SkPngCodec an abstract class, with two subclasses which handle scanline decoding separately (they share code for decoding the entire image). Reimplement onReallyHasAlpha so that it can return the most recent result (e.g. after a scanline decode which only decoded part of the image) or a better answer (e.g. if the whole image is known to be opaque). Compute fNumberPasses early, so we know which subclass to instantiate. Make SkPngInterlaceScanlineDecoder use the base class' fCurrScanline rather than a separate variable. CodexTest.cpp: Add tests for the state changes in SkCodec (need to call start before decoding scanlines; calling getPixels means that start will need to be called again before decoding more scanlines). Add a test which decodes in stripes, currently only used for an interlaced PNG. TODO: Add tests for onReallyHasAlpha. Review URL: https://codereview.chromium.org/1365313002
* DM: PDFSink sets rasterizer keywordGravatar halcanary2015-09-28
| | | | Review URL: https://codereview.chromium.org/1376573002
* Revert of change pixel-serializer to support reencoding existing data ↵Gravatar reed2015-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #5 id:80001 of https://codereview.chromium.org/1373683003/ ) Reason for revert: Need to somehow get access to encoders in chrome -- link error on the roll since SkImageEncoder is not built as part of chrome. Original issue's description: > change pixel-serializer to support reencoding existing data > > Trying to evolve this interface so it can > - support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT > - allow for encoding images as well as bitmaps (e.g. for picture serialization) > - perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format) > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/13f48dc85aa68a60da66aaf39c93d527d11d1278 TBR=scroggo@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1371983003
* change pixel-serializer to support reencoding existing dataGravatar reed2015-09-28
| | | | | | | | | | | Trying to evolve this interface so it can - support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT - allow for encoding images as well as bitmaps (e.g. for picture serialization) - perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format) BUG=skia: Review URL: https://codereview.chromium.org/1373683003
* SkInstallDiscardablePixelRef is deprecated, enforce thatGravatar reed2015-09-25
| | | | | | | | | No functionality change, just a renaming. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1372593002
* stop scaling loops and improve warmup benchGravatar joshualitt2015-09-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1363663004
* Add warmup bench to visual benchGravatar joshualitt2015-09-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1358373003